VB [(Function)处理…]在Delphi中等效

说我们有类似的东西
Private Sub ClickObject(ByVal sender As System.Object, ByVal e as System.Eventargs) 
Handles Object1.click, Object2.click, Object3.click
在“Handles”之后接受事件并将它们发送到函数。 在Delphi中是否有相同的功能,我该怎么做?     
已邀请:
是。 您可以创建一个事件处理程序并将其分配给多个控件。
procedure TForm1.ThreeControlsClick(Sender: TObject);
begin
  if Sender = Button1 then
    HandleButton1Click
  else if Sender = ComboBox1 then
    HandleComboBox1Click
  else if Sender = Edit1 then
    HandleEdit1Click;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Button1.OnClick := ThreeControlClick;
  ComboBox1.OnClick := ThreeControlClick;
  Edit1.OnClick := ThreeControlClick;
end;
    
在表单中添加
TActionList
。添加一个
TAction
并处理它的
OnExecute
事件,就像你对其他控件的
OnClick
事件一样。分配控件的
Action
属性以引用您添加到操作列表中的操作。 (这也会导致控件从关联的操作中获取其标题和启用的可见属性。这意味着当菜单和工具栏按钮表示相同的命令时,它们更容易让菜单和工具栏按钮具有统一的状态。)     

要回复问题请先登录注册