国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

C++ Builder 動作對象

2019-11-17 05:21:01
字體:
供稿:網(wǎng)友

  4.9 使用動作列表

動作列表可為那些響應用戶命令的對象如菜單和按鈕等集中處理對用戶命令的響應(動作)。本節(jié)概述動作及動作列表,描述如何使用它們及它們?nèi)绾闻c其客戶和目標相互作用。

4.9.1 動作對象

動作指的是作用于目標對象的用戶命令。在應用程序中表現(xiàn)為對用戶輸入的響應,一般一個動作對應于用戶界面的一個或多個元素,如菜單命令或工具欄按鈕。通過使用動作對象集中處理動作,可將應用程序的執(zhí)行函數(shù)與用戶界面分離。這可以讓動作共享代碼(例如,當菜單項和工具欄按鈕對應的操作相同),同時提供了一種單一的、集中化的方法來根據(jù)應用程序的狀態(tài)答應或禁用動作。
可在動作列表編輯器中創(chuàng)建動作。這些動作稍后將通過動作鏈接連接到客戶控件。以下描述了動作/

動作列表機制中的各類組件
· 動作列表(TAtionList)是包含動作(TAction)列表的組件。動作列表提供設計時處理動作的用戶界面。
· 動作(TAction)就是一個操作的實現(xiàn),例如復制選中的文本到目標(如編輯控件等)中。一般情況下目標是具有焦點的控件。動作由其相關客戶觸發(fā)以便響應用戶命令(例如單擊鼠標)。StdActns單元包含了TAction派生的一些類,它們實現(xiàn)了大多數(shù)Windows應用程序中常見的基本Edit和Window菜單命令(動作)。
· 客戶通常為功能菜單或按鈕(TToolButton、TSpeedButton、TMenuItem、TButton、TCheckBox、TRadioButton等等)。當客戶接收到用戶命令時(如單擊鼠標),它初始化其關聯(lián)的動作。一般客戶的Click事件所關聯(lián)的是動作的Execute事件。
· 動作鏈接(TActionLink)維護動作與客戶的連接。動作鏈接決定了動作(若存在)當前是否可供指定的客戶使用。
· 典型的動作的客戶通常是一個功能菜單項或按鈕(TToolButton、TSpeedButton、TMenuItem、
TButton、TCheckBox、TRadioButton等等),動作由客戶中的相應命令初始化。一般來說,客戶的Click對應動作Execute。動作目標通常是一個控件,例如richedit、備注或數(shù)據(jù)控件。例如DBActns單元包含了實現(xiàn)數(shù)據(jù)集(dataset)控件動作的類。組件設計者可以根據(jù)其所設計與使用的控件創(chuàng)建自己的動作,然后封裝這些單元以創(chuàng)建模塊化的應用程序。例如標準的幫助動作就忽略目標,

只由幫助系統(tǒng)啟動。
圖4-10顯示了這些對象的關系。此圖中,Cut1是動作,ActionList1是包含Cut1的動作列表,SpeedButton1是Cut1的客戶,而Memo1則是目標。
C++ Builder 動作對象 與動作、動作列表、動作客戶和動作目標不同,動作鏈接并非組件。客戶控件包含了一個內(nèi)部的動作鏈接(通過保護的ActionLink屬性),它代表了當設置客戶的Action屬性時建立的連接。因為動作鏈接不是可放入窗體的組件,所以圖中的動作鏈接由白色矩形表示。動作鏈接會將用戶SpeedButton1鏈接到動作列表ActionList1所包含的Cutl動作。

VCL提供了TAction、TActionList和TActionLink類用以處理動作列表。它們分屬以下單元:
· ActnList:TAction、TActonLink、TActionList、TContainedAction、TCustomAction及TCustomActionList。
· Classes:TBasicAction、TBasicActionLink。
· Controls:TControlActionLink、TWinControlActionLink。
· ComCtrls:TToolButtonActionLink。
· Menus:TMenuActionLink。
· StdCtrls:TButtonActionLink。

StdActns和DBActns包含了一些輔助的類,可實現(xiàn)特定的、經(jīng)常使用的標準Windows和數(shù)據(jù)集動作。這將在4.9.3節(jié)中介紹。很多VCL控件都包含了屬性(例如Action)和方法(例如ExecuteAction),可讓它們作為動作客戶和目標使用。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 温州市| 孝感市| 兴义市| 兴安县| 淮南市| 瑞安市| 富平县| 巴林右旗| 南安市| 清苑县| 海安县| 宜良县| 芮城县| 鄂尔多斯市| 马公市| 松江区| 体育| 财经| 同心县| 大悟县| 温州市| 朔州市| 天全县| 汉源县| 宣化县| 隆安县| 七台河市| 延寿县| 渑池县| 台东市| 宿迁市| 延长县| 宕昌县| 长治市| 会昌县| 绥德县| 康保县| 东台市| 鹿邑县| 禄劝| 云和县|