VB [(Function)处理......]等效于Delphi

时间:2011-04-10 03:44:58

标签: vb.net delphi equivalent handles

说我们有像

这样的东西
Private Sub ClickObject(ByVal sender As System.Object, ByVal e as System.Eventargs) 
Handles Object1.click, Object2.click, Object3.click

将“处理”后的事件发送到函数中。

在Delphi中是否有相同的功能,我该怎么做?

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:3)

您可以创建一个事件处理程序并将其分配给多个控件。

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;