分享
 
 
 

C++Builder动作对象

王朝c/c++·作者佚名  2008-06-01
窄屏简体版  字體: |||超大  

4.9 使用动作列表

动作列表可为那些响应用户命令的对象如菜单和按钮等集中处理对用户命令的响应(动作)。本节概述动作及动作列表,描述如何使用它们及它们如何与其客户和目标相互作用。

4.9.1 动作对象

动作指的是作用于目标对象的用户命令。在应用程序中表现为对用户输入的响应,一般一个动作对应于用户界面的一个或多个元素,如菜单命令或工具栏按钮。通过使用动作对象集中处理动作,可将应用程序的执行函数与用户界面分离。这可以让动作共享代码(例如,当菜单项和工具栏按钮对应的操作相同),同时提供了一种单一的、集中化的方法来根据应用程序的状态答应或禁用动作。

可在动作列表编辑器中创建动作。这些动作稍后将通过动作链接连接到客户控件。以下描述了动作/

动作列表机制中的各类组件:

· 动作列表(TAtionList)是包含动作(TAction)列表的组件。动作列表提供设计时处理动作的用户界面。

· 动作(TAction)就是一个操作的实现,例如复制选中的文本到目标(如编辑控件等)中。一般情况下目标是具有焦点的控件。动作由其相关客户触发以便响应用户命令(例如单击鼠标)。StdActns单元包含了TAction派生的一些类,它们实现了大多数Windows应用程序中常见的基本Edit和Window菜单命令(动作)。

· 客户通常为功能菜单或按钮(TToolButton、TSpeedButton、TMenuItem、TButton、TCheckBox、TRadioButton等等)。当客户接收到用户命令时(如单击鼠标),它初始化其关联的动作。一般客户的Click事件所关联的是动作的Execute事件。

· 动作链接(TActionLink)维护动作与客户的连接。动作链接决定了动作(若存在)当前是否可供指定的客户使用。

· 典型的动作的客户通常是一个功能菜单项或按钮(TToolButton、TSpeedButton、TMenuItem、

TButton、TCheckBox、TRadioButton等等),动作由客户中的相应命令初始化。一般来说,客户的Click对应动作Execute。动作目标通常是一个控件,例如richedit、备注或数据控件。例如DBActns单元包含了实现数据集(dataset)控件动作的类。组件设计者可以根据其所设计与使用的控件创建自己的动作,然后封装这些单元以创建模块化的应用程序。例如标准的帮助动作就忽略目标,

只由帮助系统启动。

图4-10显示了这些对象的关系。此图中,Cut1是动作,ActionList1是包含Cut1的动作列表,SpeedButton1是Cut1的客户,而Memo1则是目标。

与动作、动作列表、动作客户和动作目标不同,动作链接并非组件。客户控件包含了一个内部的动作链接(通过保护的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包含了一些辅助的类,可实现特定的、经常使用的标准Windows和数据集动作。这将在4.9.3节中介绍。很多VCL控件都包含了属性(例如Action)和方法(例如ExecuteAction),可让它们作为动作客户和目标使用。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有