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

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

C++ Builder 編寫動作組件

2019-11-17 05:22:33
字體:
來源:轉載
供稿:網友

  4.9.4 編寫動作組件

一般使用的動作是通過在對象觀察器中設置其屬性為具體的應用程序創建的。要使用這樣的動作,必須編寫事件處理程序在本節的“執行動作”部分描述的分發流程中的某一點上響應動作。
當使用C++Builder自帶的預定義動作時,不需要寫任何事件處理程序,因為目標組件知道如何響應該動作。也可以創建自己的預定義動作類。當編寫自己的動作類時,可內嵌能夠在某些特定目標對象類上執行的能力。然后,就可像使用預定義動作類一樣使用你的定制動作類。也就是說,當動作能自行識別并應用于目標類時,就可簡單地將動作分配給客戶控件,并且不需要編寫事件處理程序,它會自行作用于目標。

1.動作如何搜索其目標
本節的“執行動作”部分描述了用戶激活動作時發生的執行流程。若在動作、動作列表或應用程序層都沒有事件處理程序響應動作時,則應用程序試圖找到一個動作可自行作用的目標對象。圖4-12舉例說明了應用程序搜索這種目標對象的過程。預定義動作類和自行創建的動作類都遵循這一過程。
C++ Builder 編寫動作組件(圖一)
1)應用程序收到一個CM_ACTIONEXECUTE消息,它指示動作未被任何事件處理程序處理。這種應用程序將它分發到屏幕的ActiveForm處。若沒有當前活躍的窗體,應用程序將消息分發到MainForm。
2)Form1(在本例中為當前活躍的窗體)首先搜索當前活躍的控件(Memo1),將其作為潛在的目標。當前活躍的控件(Memo1)調用動作的HandlesTarget方法,確定自己是否是適當的動作目標。若Memo1不是適當的目標,HandlesTarget返回false,并且該控件通知應用程序它不是有效目標。
3)在本例中,Memo1是Cut1的適當的目標,因此HandlesTarget返回true。然后Memo1調用Cut1:ExecuteTarget,并將自身作為一個參數傳入。
4)因為Cut1是TEditCut動作的一個實例,該動作調用Memo1的CutToClipboard方法:
C++ Builder 編寫動作組件(圖二)

若該活躍控件不是適當的目標,進程會繼續如下:
· Form1檢查自身是否是適當的目標。若 Form1是適當的目標(例如,窗體可以作為這個TWindowCascade動作的目標),它調用Cut1的ExecuteTarget方法并將自身作為一個參數傳入。
· 若Form1不是適當的目標,應用程序會在Form1的所有可見控件中循環,直到發現目標。注重 若該動作是TCustomAction的后裔,那么當它不能被處理時將自動被禁用,同時其DisableIfNoHandler屬性為true。

2.注冊動作
當編寫自己的動作時,可通過使用ActnList單元中的全局例程在IDE中注冊動作或注銷其注冊:
C++ Builder 編寫動作組件(圖三)
點擊查看大圖


當調用RegisterActions時,注冊的動作在動作列表編輯器中出現以供給用程序使用。可通過賦予分類名來組織動作,或通過Resource參數提供缺省的屬性。

例如,下列代碼在IDE中將動作注冊入MyAction單元:
C++ Builder 編寫動作組件(圖四)

當調用UnRegisterActions時,動作不再在動作列表編輯器上出現。

3.編寫動作列表編輯器
可為動作列表編寫自己的組件編輯器。假如要這樣做,需將自己的過程賦予ActnList單元中的四個全局過程變量:
C++ Builder 編寫動作組件(圖五)
點擊查看大圖


若要用非缺省的方式治理注冊、注銷注冊、創建及枚舉過程的動作,只需重新給這些變量賦值即可。為此,編寫自己的處理程序,并在設計時單元初始化部分給這些變量賦值。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
都市激情亚洲色图| 久久久伊人欧美| 亚洲福利在线视频| 91精品国产色综合久久不卡98口| 欧美xxxx18性欧美| 精品一区二区亚洲| 超薄丝袜一区二区| 久久999免费视频| 欧美日韩性视频| 久久久精品一区二区| 国产精品久久久久久av福利| 91亚洲精品一区| 国产精品27p| 欧美一级免费视频| 在线播放日韩av| 国产精品久久久久久久久久小说| 在线观看不卡av| 精品成人国产在线观看男人呻吟| 欧洲成人免费aa| 青青草国产精品一区二区| 欧美视频专区一二在线观看| 97涩涩爰在线观看亚洲| 日韩av不卡电影| 浅井舞香一区二区| 国产成人精品999| 久久影院免费观看| 亚洲欧美日韩国产中文| 欧美一区在线直播| 在线看片第一页欧美| 亚洲娇小xxxx欧美娇小| 久久夜精品香蕉| 成人激情在线观看| 午夜精品久久久久久久久久久久久| 亚洲精品www久久久久久广东| 九九久久精品一区| 欧洲永久精品大片ww免费漫画| 97在线视频免费播放| 97在线视频免费播放| 狠狠色狠狠色综合日日小说| 日韩av网站电影| 欧美插天视频在线播放| 久久这里有精品视频| 久久不射电影网| 欧美日韩久久久久| 精品国模在线视频| 欧美日韩精品中文字幕| 亚洲人成电影网| 97久久精品国产| 久久久久国产精品免费| 亚洲xxxx做受欧美| 久久久噜噜噜久噜久久| 精品香蕉在线观看视频一| 黑人巨大精品欧美一区二区三区| 欧美在线一级视频| 日韩美女av在线免费观看| 亚洲天堂av在线免费观看| 亚洲直播在线一区| 欧美一区二三区| 最新国产精品拍自在线播放| 亚洲91av视频| 亚洲精品久久在线| 亚洲欧美一区二区三区在线| 日韩av在线免费播放| 日韩一二三在线视频播| 欧美日韩在线视频一区| 亚洲国产精彩中文乱码av| 日韩中文字幕在线播放| 伦理中文字幕亚洲| 国产精品亚洲美女av网站| 欧美激情xxxxx| 97超碰蝌蚪网人人做人人爽| 91av视频在线免费观看| 久久综合伊人77777| 欧美精品videofree1080p| 欧美激情国产日韩精品一区18| 亚洲天天在线日亚洲洲精| 国模吧一区二区三区| 91精品国产综合久久香蕉最新版| 成人高清视频观看www| 欧美色播在线播放| 日韩在线视频线视频免费网站| 日本一欧美一欧美一亚洲视频| 日产精品久久久一区二区福利| 日韩成人在线观看| 日韩欧美一区二区三区| 日韩高清有码在线| 国产性猛交xxxx免费看久久| 国产精品91在线观看| 91精品国产乱码久久久久久蜜臀| 国外成人在线视频| 成人国产精品久久久久久亚洲| 一本大道香蕉久在线播放29| 国产亚洲欧美aaaa| 国产精品久久网| 日韩av123| 91中文字幕在线观看| 亚洲国产精品高清久久久| 亚洲国产欧美一区二区三区同亚洲| 社区色欧美激情 | 欧美日韩裸体免费视频| 国产成人亚洲综合青青| 91伊人影院在线播放| 国产综合在线看| 欧美xxxx14xxxxx性爽| 日韩av电影在线播放| 亚洲欧美激情在线视频| 国产有码在线一区二区视频| xx视频.9999.com| 91亚洲精品久久久久久久久久久久| 欧美日韩亚洲精品一区二区三区| 亚洲国产精品成人va在线观看| 欧美刺激性大交免费视频| 国产精品电影网| 欧美诱惑福利视频| 国产99久久久欧美黑人| 91av在线网站| 日韩美女毛茸茸| 国产高清视频一区三区| 国产精品视频中文字幕91| 久久成年人免费电影| 久久久精品美女| 久久精品99久久久久久久久| 欧美美女操人视频| 亚洲黄页视频免费观看| 亚洲美女精品成人在线视频| 国产精品高潮粉嫩av| 久久影院免费观看| 18性欧美xxxⅹ性满足| 18一19gay欧美视频网站| 色午夜这里只有精品| 青青草原一区二区| 日韩精品福利网站| 日本精品视频网站| 国产色综合天天综合网| 成人看片人aa| 亚洲福利视频免费观看| 92看片淫黄大片看国产片| 少妇高潮 亚洲精品| 欧美日韩一区二区免费视频| 91最新在线免费观看| 疯狂做受xxxx欧美肥白少妇| 久久色在线播放| 精品国产电影一区| 中文字幕亚洲欧美一区二区三区| 亚洲日本aⅴ片在线观看香蕉| 日韩精品在线观看一区| 欧美激情一区二区久久久| 川上优av一区二区线观看| 欧美在线视频导航| 91精品国产91久久久久久吃药| 欧美电影在线免费观看网站| 亚洲一区二区精品| 久久久av一区| 亚洲精品国产免费| 91高清视频免费观看| 九九久久综合网站| 亚洲人午夜精品免费| 欧美在线视频一区二区| 九色精品免费永久在线| 国产日韩在线一区| 欧美电影免费观看高清| 亚洲天堂2020| 日本不卡高字幕在线2019| 久久久久久久电影一区|