3

私たちが次のようなものを持っていたとしましょう

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

これは、「ハンドル」の後にイベントを受け取り、それらを関数に送信します。

Delphiにこれに相当するものはありますか?どうすればよいですか?

4

2 に答える 2

4

フォームにを追加TActionListします。それにを追加し、他のコントロールのイベントと同じようにTActionそのOnExecuteイベントを処理します。OnClickコントロールのプロパティを割り当ててAction、アクションリストに追加したアクションを参照します。(これにより、コントロールは、関連付けられたアクションからキャプションと有効化および表示可能なプロパティを取得します。これは、メニューとツールバーボタンが同じコマンドを表すときに、均一な状態にするのを容易にすることを目的としています。)

于 2011-04-10T04:35:08.413 に答える
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;
于 2011-04-10T04:29:17.880 に答える