7

我在设计时创建了一个没有工具按钮的 TToolBar。我的想法是在运行时创建 ToolButtons 并在创建表单时将它们放在那里,只是为了向用户显示打开了哪些表单,而无需在主菜单中打开“Windows”菜单。

我有一个名为 NavigationUtils.pas 的单元,用于存储有关导航的过程/功能(在创建表单时创建按钮)。

问题是:如何在创建 ToolButtons 时配置 OnClick 事件?

4

1 回答 1

13

从评论中可以清楚地看出您没有TNotifyEventOnClick事件分配 a 。的声明TNotifyEvent是:

TNotifyEvent = procedure(Sender: TObject) of object;

所以你需要一个过程,只有一个类型的参数TObject,并且这个过程必须是一个对象的方法。所以,像这样:

procedure TMyForm.ToolButtonClick(Sender: TObject);

然后你可以像这样分配它:

NewToolButton.OnClick := ToolButtonClick;
于 2012-12-20T11:33:33.643 回答