私たちが次のようなものを持っていたとしましょう
Private Sub ClickObject(ByVal sender As System.Object, ByVal e as System.Eventargs)
Handles Object1.click, Object2.click, Object3.click
これは、「ハンドル」の後にイベントを受け取り、それらを関数に送信します。
Delphiにこれに相当するものはありますか?どうすればよいですか?
私たちが次のようなものを持っていたとしましょう
Private Sub ClickObject(ByVal sender As System.Object, ByVal e as System.Eventargs)
Handles Object1.click, Object2.click, Object3.click
これは、「ハンドル」の後にイベントを受け取り、それらを関数に送信します。
Delphiにこれに相当するものはありますか?どうすればよいですか?
フォームにを追加TActionList
します。それにを追加し、他のコントロールのイベントと同じようにTAction
そのOnExecute
イベントを処理します。OnClick
コントロールのプロパティを割り当ててAction
、アクションリストに追加したアクションを参照します。(これにより、コントロールは、関連付けられたアクションからキャプションと有効化および表示可能なプロパティを取得します。これは、メニューとツールバーボタンが同じコマンドを表すときに、均一な状態にするのを容易にすることを目的としています。)
はい。
イベントハンドラーを作成して、複数のコントロールに割り当てることができます。
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;