Delphi中ActionList及Action使用

ActionList:用于管理程序中的Action

Action:可用于管理程序中控件的状态

 

当Action与某一控件相关联时(假定相关联控件为button),button的相关属性的值和对应事件会自动转变为Action中设定的属性值和相应的事件。此处需要特别注意的是Action的OnUpdate和OnExecute事件:

OnUpdate:当程序空闲时会运行该事件,所以在该事件中我们可以控制button控件的状态,比如enable、disable等.但应通过action来控制,比如action.enabled:=true;若直接通过控件来控制,比如button.enabled:=true,可能无法得到预想的效果.

OnExecute:该事件会替换button的OnClick事件。此处一定要牢记的是OnClick中的代码一定要写在OnExecute中, 否则点击button时可能没有响应。这可能是因为当Action与button关联后button的OnClick事件自动对应为 Action的OnExecute事件,而OnExecute事件为空,所以点击button没有响应。这里与delphi的帮助文档有出入。

在做快速实施部署工具和快速配置管理工具时由于没有注意以上两点,搞得后来不得不修改程序,希望以后引以为戒。


更多Delphi交流学习,请加QQ:2609715119

   非诚勿扰!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本
Delphi,TActionManager和TActionList是用于管理和处理应用程序的操作(Actions)的组件。它们被广泛用于构建具有菜单、工具栏和快捷键的用户界面。下面是一个详细的示例,展示了如何使用TActionManager和TActionList来创建操作,并将它们关联到菜单和工具栏。 首先,创建一个新的VCL应用程序,并在主窗体上放置一个TMainMenu和一个TToolBar组件。然后,在主窗体上放置一个TActionManager组件,并设置其Name属性为ActionManager1。 接下来,双击TActionManager组件,在其事件列表添加一个OnUpdate事件。在该事件的代码编辑器,添加以下代码: ```delphi procedure TForm1.ActionManager1Update(Action: TBasicAction; var Handled: Boolean); begin // 在这里更新操作的Enabled和Visible属性 end; ``` 然后,在主窗体上放置一个TActionList组件,并设置其Name属性为ActionList1。 现在,我们可以开始创建操作了。双击TActionList组件,在其集合编辑器添加两个新的操作(Actions)。对于每个操作,设置Caption属性为相应的菜单项或工具栏按钮的文本。 接下来,为每个操作添加相应的事件处理程序。例如,对于一个名为Action1的操作,在TActionList的事件列表找到Action1的OnExecute事件,并在代码编辑器添加以下代码: ```delphi procedure TForm1.Action1Execute(Sender: TObject); begin ShowMessage('Action 1 executed'); end; ``` 重复上述步骤为每个操作添加事件处理程序。 现在,我们将这些操作与菜单和工具栏按钮关联起来。在主窗体上的TMainMenu组件,右键单击一个菜单项,选择"Link to Action",然后选择相应的操作。对于TToolBar组件的工具栏按钮,可以直接在对象树视图选择相应的操作。 最后,在主窗体的FormCreate事件添加以下代码,将TActionList组件与TActionManager组件关联起来: ```delphi procedure TForm1.FormCreate(Sender: TObject); begin ActionManager1.ActionBars.Add(ActionList1); end; ``` 现在,运行应用程序,你将看到菜单和工具栏按钮与操作关联起来了。当你点击菜单项或工具栏按钮时,相应的操作事件处理程序将被触发。 希望这个示例能帮助你理解TActionManager和TActionList的用法。如果你还有其他问题,请随时提问!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值