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

隨筆-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;
同時要寫兩個方法來對此類變量進行存取:
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
、 寫數據敏感的控件:?
數據敏感的控件和普通控件基本相同,只是有一個類TdatalinkTdatalink有一個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>
            欧美国产极速在线| 久久一区免费| 国产精品男gay被猛男狂揉视频| 久久精品日韩| 在线看一区二区| 久久国产手机看片| 亚洲高清自拍| 亚洲人精品午夜在线观看| 欧美成人在线影院| 亚洲欧美视频| 亚洲韩国青草视频| 亚洲色图在线视频| 伊人久久久大香线蕉综合直播| 久久精品99久久香蕉国产色戒| 欧美成人免费小视频| 亚洲欧美一区二区原创| 一区二区自拍| 国产伦精品一区二区| 久久国产精品久久久久久久久久| 亚洲精品一区二| 久久精品在线播放| 欧美在线地址| 午夜欧美视频| 亚洲图片欧美午夜| 亚洲中无吗在线| 欧美一级在线视频| 亚洲欧美一级二级三级| 亚洲在线网站| 午夜免费电影一区在线观看| 亚洲制服av| 欧美精品色一区二区三区| 国产一区二区成人久久免费影院| 午夜老司机精品| 欧美日韩免费区域视频在线观看| 亚洲一区二区在线免费观看| 99riav国产精品| 亚洲一区在线播放| 中文国产亚洲喷潮| 在线综合视频| 亚洲国产精品国自产拍av秋霞 | 亚洲毛片网站| 欧美影视一区| 国产精品劲爆视频| 日韩亚洲欧美成人| 欧美1区2区3区| 午夜精品一区二区三区四区| 欧美日韩精品中文字幕| 亚洲电影在线免费观看| 久久久久久久综合日本| 国产精品99久久久久久人| 欧美激情在线| 日韩网站在线看片你懂的| 欧美顶级艳妇交换群宴| 久久久久在线| 一区二区在线视频观看| 久久九九国产| 欧美一区二区三区啪啪| 国产日韩专区在线| 欧美中在线观看| 亚洲欧美日韩精品综合在线观看| 欧美日韩中文另类| 亚洲午夜在线视频| 中文日韩欧美| 国产精品无人区| 欧美在线免费视频| 久久国产欧美| 91久久国产自产拍夜夜嗨| 欧美黄色一区| 欧美日本中文字幕| 亚洲综合欧美日韩| 香蕉av777xxx色综合一区| 国产一区深夜福利| 女人天堂亚洲aⅴ在线观看| 久久免费国产| 999亚洲国产精| 一区二区三区色| 国产一区二区精品丝袜| aa级大片欧美| 夜夜嗨av一区二区三区网站四季av | 欧美在线视频观看| 欧美在线亚洲| 亚洲欧洲久久| 亚洲视频图片小说| 国产一级揄自揄精品视频| 免费不卡在线观看av| 欧美大片专区| 亚洲欧美日韩久久精品| 久久成人18免费观看| 亚洲狠狠婷婷| 亚洲一区二区三区在线| 在线精品福利| 中文亚洲字幕| 亚洲国产精品久久久久秋霞不卡| 亚洲日韩第九十九页| 国产精品theporn| 另类图片国产| 国产精品毛片一区二区三区| 久久综合一区二区三区| 欧美视频在线观看一区二区| 久久另类ts人妖一区二区| 欧美激情第9页| 久久大逼视频| 欧美日韩一区不卡| 久久综合亚洲社区| 国产精品理论片| 欧美国产一区二区在线观看| 国产精品伦子伦免费视频| 亚洲国产精品久久久久婷婷884| 国产精品专区h在线观看| 亚洲精品国产无天堂网2021| 国产亚洲精品一区二区| 一个人看的www久久| 亚洲国产婷婷香蕉久久久久久| 亚洲性线免费观看视频成熟| 亚洲精品乱码久久久久久蜜桃麻豆 | 欧美午夜电影完整版| 狼狼综合久久久久综合网| 国产精品高清在线观看| 亚洲激情图片小说视频| 伊人春色精品| 欧美一区二区三区四区视频| 亚洲欧美久久久| 欧美日本一区二区视频在线观看 | 欧美xxx在线观看| 国内成+人亚洲| 亚洲欧美制服另类日韩| 亚洲欧美韩国| 欧美午夜免费| 一区二区高清视频在线观看| 99热在线精品观看| 欧美国产日韩在线| 亚洲丰满少妇videoshd| 欧美大片在线观看一区二区| 欧美三级不卡| 亚洲福利精品| 亚洲精品一区二区三| 免费黄网站欧美| 欧美激情视频在线播放| 亚洲人成久久| 欧美精品九九| 日韩香蕉视频| 亚洲视频图片小说| 国产精品老女人精品视频| 亚洲资源在线观看| 久久久久久网站| 亚洲成人资源网| 欧美韩国日本一区| 亚洲理伦电影| 午夜在线视频观看日韩17c| 国产精品一级二级三级| 亚洲制服欧美中文字幕中文字幕| 欧美一区二区三区免费观看| 国产亚洲欧美另类中文| 久久一区二区三区超碰国产精品| 欧美激情亚洲自拍| 亚洲先锋成人| 国产日韩av在线播放| 久久综合色播五月| 亚洲免费电影在线观看| 亚洲在线观看免费| 国内视频一区| 欧美伦理91i| 亚洲欧美日韩天堂一区二区| 久热精品视频在线观看| 亚洲精选在线观看| 国产女同一区二区| 蜜臀91精品一区二区三区| 亚洲免费久久| 久久婷婷亚洲| 一区二区三区视频在线| 国产日韩欧美不卡在线| 女女同性女同一区二区三区91| 一区二区三区精品视频| 久久九九99视频| 一本色道88久久加勒比精品| 国产日韩欧美一区在线| 欧美激情在线免费观看| 欧美亚洲免费在线| 亚洲免费观看| 美日韩精品免费| 亚洲欧美中文另类| 91久久国产精品91久久性色| 国产精品人成在线观看免费| 免费看成人av| 久久精品中文| 亚洲中无吗在线| 99热精品在线观看| 免费久久99精品国产| 香蕉乱码成人久久天堂爱免费 | 亚洲愉拍自拍另类高清精品| 伊人夜夜躁av伊人久久| 国产精品麻豆成人av电影艾秋| 欧美96在线丨欧| 久久久www成人免费无遮挡大片| 一区二区三区久久| 亚洲日本视频| 亚洲日本va午夜在线影院| 欧美激情精品| 欧美freesex8一10精品| 久久久久久久波多野高潮日日|