我在设计时创建了一个没有工具按钮的 TToolBar。我的想法是在运行时创建 ToolButtons 并在创建表单时将它们放在那里,只是为了向用户显示打开了哪些表单,而无需在主菜单中打开“Windows”菜单。
我有一个名为 NavigationUtils.pas 的单元,用于存储有关导航的过程/功能(在创建表单时创建按钮)。
问题是:如何在创建 ToolButtons 时配置 OnClick 事件?
从评论中可以清楚地看出您没有TNotifyEvent
为OnClick
事件分配 a 。的声明TNotifyEvent
是:
TNotifyEvent = procedure(Sender: TObject) of object;
所以你需要一个过程,只有一个类型的参数TObject
,并且这个过程必须是一个对象的方法。所以,像这样:
procedure TMyForm.ToolButtonClick(Sender: TObject);
然后你可以像这样分配它:
NewToolButton.OnClick := ToolButtonClick;