亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

C++ Builder創建組件探密

2019-11-17 05:23:21
字體:
來源:轉載
供稿:網友
1.創建組件的類聲明
class PACKAGE 新類名 : public 祖先類名
{
  • PRivate:私有數據:
    (1)內部私有用
    (2)發布屬性的真正數據保存
    (3)發布事件的數據保存
    (1,2,3)私有數據初始化一般在構造函數中,(3)的初始化一般與祖先該事件相連。
    通常為方便直接調用祖先方法常加保存祖先類型的變量:typedef 祖先類名 Inherit;
    私有方法:僅在類定義內部使用,不希望被繼續使用,不希望公開使用。(盡量寫成通用函數)
  • protected:保護數據:一般很少用。
    保護方法:一般是虛函數。在類定義時內部使用,對象不能直接調用,并把公開與否控制權給其派生類其派生類可以用重定義該方法,并可將其公開。
  • public:公有數據:一般屬性,但不屬于發布(即設計期不能操作)屬性并不是真正的數據需要私有數據來保存屬性,操作屬性通過方法。常用的定義如:
    方式1:
    __property AnsiString ItemData={read=FItemData,write=FItemData,default="A"};
    方式2:
    __property AnsiString ItemData={read=GetItemData,write=SetItemData,default="A"};
    FItemData是其數據私有保存處GetItemData(),SetItemData()是實現讀寫函數,其內部除了設置數據外還可以加相應的處理代碼,這部份處理就是屬性的最大優點。即通過直接修改屬性既實現了數據的讀寫又可實現的代碼處理,然而用戶的感覺似乎是只作了數據的改,正是這點“副作用”所帶來的。
    另外假如對屬性的修改不需要響應處理則只用定義方式1就行了。
    公有方法:實現類的封裝,改變數據成員都通過公有函數。(Method)重定義函數通常的先調用祖先類的該方法Inherit::XXX();(Inherit已說明,XXX表函數名), 然后再寫自身要作的處理代碼。
    __published:發布屬性:同公有部分的屬性,區別在于發布屬性在設計期可直接通過對象觀察器修改。祖先類已發布的屬性,最好在此作確認。
    順便指出方法不宜寫在發布聲明處,屬性同樣可寫成公有或私有,但是它們是無法在設計期訪問的,私有屬性僅在內部使用不向用戶提供。
} 寫組件應盡量多用屬性,而少用方法。只有屬性無法完成的工作才由方法來完成。
發布事件: 1.普通事件: 參數唯一僅有TObject *Sender,一般用TNotifyEvent(指針類型) 如:__property TNotifyEvent OnExit={read=FOnExit,write=FOnExit} ; 同屬性一樣需要私有數據來保存事件指針。 TNotifyEvent FOnExit;另外是事件處理代碼。 void __fastcall MyOnExit(System::TObject *Sender)其實現代碼中由 FOnExit(Sender)語句觸發事件;(注重事件處理函數返值void) 2.非凡事件:
首先:需定義事件類型指針(類似于函數指針的定義) typedef void __fastcall (__closure *TKeyDownEvent)(System::TObject* Sender, Word &Key,TShiftState Shift); 其次:要有數據保存處。在private處聲明:如 TKeyDownEvent FOnKeyDown ;
再次:有相應事件處理函數一般在protected處聲明。如 protected:virtual void __fastcall MyOnKeyDown(System::TObject *Sender, WORD &Key,TShiftState Shift); 代碼中常有 FOnKeyDown(Sender,Key,Shift) 最后:設定連接(需要提供前三者:事件指針類型,數據存放處變量,事件處理函數)。 __property TKeyDownEvent OnKeyDown={read=FOnKeyDown,write=FOnKeyDown}; }; 組件檢驗及注冊static inline void ValidCtrCheck(新類名 *){new 新類名(NULL);} 確保該控件聲明中沒有純虛函數,因為虛基類是不能生成實例的。 namespace 名稱空間 { void __fastcall PACKAGE Register() { TComponentClass classes[1] = {__classid(新類名)}; } RegisterComponents("所屬包名", classes, 0);
還可加屬性編輯器說明 RegisterPropertyEditor(...)}}名稱空間是個C++特性,利用此Register()函數才可以區分其它控件。此命名必須符合規范,跟控件所在的文件名有關。如 TMyButton在 mybutton.cpp中則此命名空間為Mybutton.用New Component對話框生成新組件,不用考慮該問題。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久亚洲国产精品| 懂色av一区二区三区| 97视频在线观看视频免费视频| 国产婷婷97碰碰久久人人蜜臀| 精品久久久久久久久久久| 亚洲最大成人在线| 欧美最猛性xxxxx免费| 97视频在线观看成人| 国产精品久久久久久影视| 亚洲欧洲中文天堂| 国产精品久久一区| 亚洲自拍偷拍视频| 成人国产精品一区| 国产精品精品一区二区三区午夜版| 中文字幕精品av| 国产精品视频1区| 午夜免费在线观看精品视频| 欧美日韩成人网| 日韩在线观看免费全集电视剧网站| 麻豆国产精品va在线观看不卡| 97色在线播放视频| www日韩中文字幕在线看| 这里只有精品视频| 国产精品白丝jk喷水视频一区| 国产主播喷水一区二区| 日韩av电影免费观看高清| 国产成人在线一区| 色播久久人人爽人人爽人人片视av| 国产精品爽黄69| 2019最新中文字幕| 亚洲国产精彩中文乱码av在线播放| 亚洲人成啪啪网站| 国产久一一精品| 亚洲91精品在线| 日韩国产在线播放| 伊人久久大香线蕉av一区二区| 国产精品久久99久久| 欧美人与性动交a欧美精品| 久久久久久亚洲精品| 亚洲一区亚洲二区| 中文字幕一区二区三区电影| 国产成人拍精品视频午夜网站| 91亚洲国产成人久久精品网站| 在线观看日韩www视频免费| 日本久久亚洲电影| 中国china体内裑精亚洲片| 国产精品自拍视频| 91精品国产91久久久久| 日韩亚洲国产中文字幕| www.日韩视频| 日韩精品极品在线观看| 欧美成人激情在线| 日韩精品极品在线观看播放免费视频| 亚洲人成亚洲人成在线观看| 欧美午夜丰满在线18影院| 日韩性xxxx爱| 精品久久久久久久久久久| 91视频免费在线| 久久久欧美精品| 中日韩美女免费视频网站在线观看| 亚洲色图av在线| 视频在线观看99| 国内揄拍国内精品| 综合136福利视频在线| 69久久夜色精品国产7777| 色综合久综合久久综合久鬼88| 国内精品久久久久影院优| 精品视频9999| 亚洲香蕉在线观看| 精品国产91久久久| 欧美日韩不卡合集视频| 国产在线久久久| 亚洲国产成人精品女人久久久| 91久久精品国产91久久性色| 日韩精品免费一线在线观看| 成人免费xxxxx在线观看| 久久天天躁狠狠躁老女人| 久久久精品在线观看| 亚洲色图第三页| 91香蕉亚洲精品| 欧洲永久精品大片ww免费漫画| 岛国精品视频在线播放| 亚洲国产精久久久久久| 欧美人交a欧美精品| 97精品国产97久久久久久春色| 欧美特级www| 亚洲美女性视频| 亚洲人成亚洲人成在线观看| 国产在线观看精品| 精品动漫一区二区三区| 亚洲欧洲日产国码av系列天堂| 国产精品久久久91| 亚洲free性xxxx护士白浆| 亚洲精品www久久久| 亚洲网站在线播放| 亚洲精选中文字幕| 国产精品露脸自拍| 成人h猎奇视频网站| 亚洲性xxxx| 国产精品一区二区三区免费视频| 国产精品福利网站| 精品国产电影一区| 久久精品99久久久久久久久| 国产一区二区丝袜高跟鞋图片| 日韩av在线网页| 日本成人精品在线| 日韩中文字幕在线视频播放| 91国产视频在线播放| 国产精品尤物福利片在线观看| 欧美激情小视频| 欧美国产精品日韩| 日韩av在线不卡| 欧美激情视频播放| 激情久久av一区av二区av三区| 国产精品入口免费视| 欧洲精品毛片网站| 亚洲精品午夜精品| 国产成人自拍视频在线观看| 不卡伊人av在线播放| 国产婷婷色综合av蜜臀av| 国产精品男女猛烈高潮激情| 欧美色视频日本高清在线观看| 成人免费直播live| 久久免费观看视频| 91豆花精品一区| 日韩av免费在线看| 成人福利网站在线观看11| 91精品国产91久久久久久不卡| 欧美性在线观看| 91亚洲国产成人精品性色| 亚洲白拍色综合图区| 91精品国产91久久久久久不卡| 国产精品久久在线观看| 亚洲色图激情小说| 久久99久久99精品免观看粉嫩| 欧美性猛交xxxx免费看漫画| 高清欧美性猛交| 一区二区三区精品99久久| 国产成人啪精品视频免费网| 九九九久久国产免费| 亚洲理论电影网| 久久精品国亚洲| 国产日韩精品入口| 日韩在线视频一区| 高清一区二区三区日本久| 中文在线资源观看视频网站免费不卡| 国产欧美一区二区三区在线| 亚洲精品国产品国语在线| 亚洲精品在线观看www| 91精品免费久久久久久久久| 精品国产鲁一鲁一区二区张丽| 色多多国产成人永久免费网站| 日韩精品免费观看| 欧美福利视频在线| 国产成+人+综合+亚洲欧美丁香花| 中文字幕av日韩| 久久精品视频在线| 国产美女扒开尿口久久久| 欧美在线视频观看免费网站| 欧美xxxx综合视频| 最近2019中文免费高清视频观看www99| 亚洲男子天堂网| 久久免费视频这里只有精品| 日韩视频永久免费观看|