如何在运行时将Action分配给工具栏按钮?

时间:2012-04-23 02:16:08

标签: delphi menu toolbar taction tactionmanager

我根据设置文件动态添加工具栏按钮。我想给他们分配TAction。现在我添加了具有操作OnExecute处理程序的OnClick事件,但如果禁用了操作,则不会自动禁用工具栏按钮,例如在设计时添加的TMenuItems。

所以,换句话说,我想让设计时的运行时版本使用IDE中的“Action”下拉菜单来分配TAction。

这是我到目前为止所做的(代码是C ++,但很明显它的作用)。

TToolButton *b;
b = new TToolButton(ToolBar1);
b->Action = Form1->ActionManager1->Actions[0];
b->Parent = ToolBar1;

这会向ToolBar添加按钮,它似乎遵循动作启用/禁用状态,但点击时没有任何反应。如何正确和完整地添加操作?

1 个答案:

答案 0 :(得分:3)

TToolButton已发布Action媒体资源。只需将您想要的TAction对象分配给该属性即可。