青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-60  評論-111  文章-0  trackbacks-0

自己開發DelphiVCL

Delphi為何成為廣大程序員愛好的開發工具,其中一個原因就是它有大量的共享的VCL庫,打打擴展了Delphi的功能。但是在實際的開發過程中,有時候根據項目的需要要開發自己的VCL控件,我就有過不少這樣的需求,因此自己也開發了多個VCL控件,由于水平有限,功能也不是很強大,下面將自己的一些經驗介紹一下。?
1
選擇File | New,在對話框中選擇
Component。Ancestor Type中選擇你的控件是從那個類繼承下來的,然后在 "Class Name"輸入你的類的名稱,在Palette Page 中選擇要把你的控件放到哪一個頁面中。輸入完畢后點擊OK,生成pas文件。?
2
、 在控件中添加屬性:?
首先,控件的屬性要存儲在一個類變量中,比如一個類型為string的變量,就可以存儲在一個可以存儲string的類變量,比如一個string,TStringList等。因此首先要在類的private區域聲明一個私有的類變量,為了防止名字重復,一般在私有的類變量前加一個"F"。如?
private
??Fname:String
我們假設這個屬性的名字叫 FieldName,那我們就需要在published區域加上如下語句:
property FieldName:String read Fname write Fname;
這樣的屬性你可以訪問,但是不在 "Object Inspector"中出現,如果想如此,應這樣寫:
property FieldName:String read Fname write Fname stored true;
這樣的方法只實用于一些基本的數據類型,如integer, double ,String等等,對一些類,如Tstringlist,就不適合,對這些類應該怎么辦呢?首先,還是要聲明一個私有的變量存儲該屬性,以 Tstringlist為例子:?
private?Fnames:Tstringlist;
同時要寫兩個方法來對此類變量進行存?。?/span>
protected?
??Function getNames:Tstringlist;?
??Procedure setNames(value:Tstringlist);?
getName的函數體中,應這樣寫:
begin?
result:=Fname;?
end;?
setNames的方法中,應這樣寫:?
begin?
Fname.assign(value);?
end;?
published中寫:?
property Names:Tstringlist read getNames write setNames;?
同樣如果想要這個屬性在 "Object Inspector"中出現,要在后面加 stored true.?
當然,你也可以通過其他類型的類對這個屬性進行存取,比如通過Tlistbox來存取Tstringlist,因為類Tlistbox也包含有一個Tstringlist類。?
3
、 在控件中添加方法?
添加方法比較簡單,在published中聲明方法,然后寫方法體就可以。?
4
在控件中添加事件?
添加事件之前,首先要聲明一個事件類,如TnotifyEvent?
private??
??MyEvent:TnotifyEvent;?
聲明事件?
published?
??property OnMyEvent:TnotifyEvent read MyEvent write MyEvent stored true;?
然后在特定的條件下調用這個事件:?
OnMyEvent(owner);?
5
寫數據敏感的控件:?
數據敏感的控件和普通控件基本相同,只是有一個類Tdatalink,Tdatalink有一個onDatachange事件,你可以聲明一個事件,然后將事件指向TdatalinkonDatachange事件,然后在事件中寫下程序就可以實現數據敏感了。?
??FDataLink.OnDataChange := DataChange;?
然后在Datachange中寫程序。?
6
、 重載構造器和構析器。在publicpublished中寫:?
構造器:?
constructor Create(Aowner:Tcomponent); override;?
構析器:?
destructor Destory; override;?
在構造時對一些類變量進行初始化,有的需要調用類變量的類構造方法進行構造,如?
??Fnames:=Tstirnglist.create;?
在構析時對類變量進行釋放?
??Fnames.Free;?
7
對于一些界面有關的控件,如果有特殊的界面需要,需要重載onpaint事件,在重畫時對自己的canvas進行操作,當然,也可以對別的類的canvas進行操作,比如寫一個控件,在重畫時對它的容器用一個畫進行平鋪處理。?
8
、 對于從哪些類繼承,根據自己的需要選擇,盡可能選擇功能接近,已經實現部分功能的類,這樣寫比較方便。?
以上是自己的一些心得,還望多多指正。

posted on 2011-01-12 09:12 shaker(太子) 閱讀(1131) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲日韩视频| 国产欧美日韩三级| 亚洲黄色片网站| 欧美高清免费| 你懂的一区二区| 欧美暴力喷水在线| 亚洲国产中文字幕在线观看| 亚洲人成啪啪网站| 一级日韩一区在线观看| 亚洲一级免费视频| 久久成人免费| 欧美激情小视频| 欧美日韩成人综合天天影院| 欧美另类一区| 国产一区二区三区高清 | 日韩视频在线观看一区二区| 亚洲国产一区二区精品专区| 99re66热这里只有精品4| 亚洲在线播放电影| 久久久91精品国产一区二区三区| 麻豆精品视频在线| 欧美日韩一区二区高清| 国产一区91精品张津瑜| 在线日韩中文| 亚洲欧美日韩精品综合在线观看| 久久国产一区二区三区| 免费精品视频| 亚洲一区欧美二区| 久久午夜精品| 欧美精品久久久久a| 亚洲国产成人精品女人久久久 | 亚洲伊人观看| 久久久蜜桃一区二区人| 欧美午夜精品久久久久久超碰| 国产精品视频一二| 日韩西西人体444www| 午夜久久久久久| 91久久国产综合久久91精品网站| 亚洲欧美资源在线| 欧美精品播放| 亚洲第一黄色网| 久久精品国产2020观看福利| 亚洲国产精品ⅴa在线观看| 篠田优中文在线播放第一区| 欧美日韩激情网| 亚洲全黄一级网站| 麻豆成人综合网| 先锋影音国产一区| 国产精品第13页| 99re66热这里只有精品3直播 | 99v久久综合狠狠综合久久| 久久人人爽人人爽爽久久| 国产区二精品视| 欧美一区二区三区精品| 一区二区欧美在线| 欧美日韩精品中文字幕| 亚洲精品日韩在线观看| 亚洲国产婷婷香蕉久久久久久| 久久久夜夜夜| 精品二区视频| 免费一级欧美片在线观看| 久久久久国产精品人| 国产日韩精品在线| 久久精品免费| 久久久久九九九| 影音先锋中文字幕一区| 玖玖综合伊人| 美日韩在线观看| 亚洲美女在线视频| 亚洲伦理在线观看| 国产精品九九| 亚洲嫩草精品久久| 亚洲欧美综合精品久久成人| 国产一区二区三区奇米久涩 | 久久久久久综合网天天| 国产亚洲欧美日韩美女| 久久高清免费观看| 香蕉免费一区二区三区在线观看| 国产精品揄拍一区二区| 久久久久国产精品www| 久久九九99视频| 久久天天躁狠狠躁夜夜av| 狠狠色综合色区| 久久国产乱子精品免费女| 久久久久久穴| 一区二区精品国产| 亚洲摸下面视频| 亚洲国产欧美久久| 一区二区三区日韩| 国产亚洲综合精品| 亚洲欧洲日韩在线| 国产日韩精品久久久| 免费在线亚洲欧美| 欧美日韩免费一区二区三区| 欧美一区二区久久久| 鲁大师影院一区二区三区| 亚洲在线一区二区三区| 久久久精彩视频| 亚洲天堂成人在线视频| 久久不射2019中文字幕| 中日韩美女免费视频网站在线观看| 亚洲欧美日韩国产中文 | 亚洲午夜久久久久久久久电影院 | 国产一区二区在线免费观看| 亚洲国产日韩欧美在线动漫 | 亚洲一区二区动漫| 久久久蜜桃一区二区人| 亚洲午夜久久久久久久久电影网| 欧美一区二区三区视频免费| 一区二区日韩欧美| 美女黄网久久| 久久久久久黄| 国产精品毛片a∨一区二区三区| 欧美大片在线观看| 国内精品国产成人| 中文在线资源观看网站视频免费不卡 | 小黄鸭精品密入口导航| 一本久道综合久久精品| 午夜在线视频观看日韩17c| 国语自产精品视频在线看抢先版结局| 亚洲人成高清| 亚洲国产三级在线| 久久久久久穴| 香蕉成人伊视频在线观看| 欧美日韩成人网| 亚洲国产精品成人精品| 亚洲第一黄色| 久久久人成影片一区二区三区观看| 午夜精品久久久久久久蜜桃app| 欧美激情一区二区三区| 免费欧美视频| 久久久777| 欧美影院成人| 国产精品久久久久三级| 亚洲国产一区二区a毛片| 亚洲黄色三级| 久久久久www| 噜噜爱69成人精品| 精品电影在线观看| 久久三级视频| 欧美va天堂在线| 在线观看日韩精品| 久久婷婷国产麻豆91天堂| 久久婷婷国产综合国色天香| 狠狠做深爱婷婷久久综合一区| 欧美亚洲一区二区三区| 久久久久久亚洲综合影院红桃| 国产精品青草久久| 午夜免费久久久久| 久久精品国产综合| 在线免费观看一区二区三区| 裸体一区二区| 亚洲美女在线看| 欧美在线视频观看| 亚洲大片在线观看| 欧美成人自拍视频| 日韩亚洲一区二区| 久久激情五月丁香伊人| 伊人久久婷婷| 欧美日本二区| 亚洲在线视频观看| 美日韩在线观看| 一区二区三区日韩| 国产精品尤物福利片在线观看| 性伦欧美刺激片在线观看| 欧美大胆成人| 亚洲综合精品四区| 国产一区二区在线免费观看 | 国产专区精品视频| 免费成人黄色| 99精品热视频| 久久久久一本一区二区青青蜜月| 亚洲电影有码| 欧美日韩亚洲一区二区三区在线观看| 亚洲自拍偷拍一区| 欧美激情四色| 久久都是精品| 在线视频一区观看| 国产真实乱偷精品视频免| 欧美激情视频在线播放| 欧美一区二区高清| 亚洲日本成人| 久久精品日韩| 在线综合亚洲| 亚洲高清视频中文字幕| 国产精品爱啪在线线免费观看| 久久久夜夜夜| 亚洲欧美视频在线观看| 91久久精品久久国产性色也91| 久久久www| 午夜亚洲伦理| 亚洲图片在区色| 日韩视频不卡中文| 韩国一区二区三区美女美女秀| 欧美日韩伦理在线免费| 女主播福利一区| 久久综合伊人| 久久天天躁狠狠躁夜夜av| 亚洲欧美日韩国产成人| 一区二区三区四区五区在线|