2019/9/3 (火) 21:19:12 Mr.XRAY |
Click メソッドと同じ動作を実現するためによく使用されるのが
メッセージの送信です.
参考記事
[ コードでボタンクリックのイベントを発生させる ]
http://mrxray.on.coocan.jp/Delphi/Others/A_UltraIntro01.htm#14
procedure TForm1.Button1Click(Sender: TObject);
begin
SendMessage(Panel1.Handle, WM_LBUTTONDOWN, 0, 0);
SendMessage(Panel1.Handle, WM_LBUTTONUP, 0, 0);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Panel1.Perform(WM_LBUTTONDOWN, 0, 0);
Panel1.Perform(WM_LBUTTONUP, 0, 0);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
// TPanel は Button コントロールではないので BM_CLICK は動作しない
SendMessage(Panel1.Handle, BM_CLICK, 0, 0);
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
// Panel1Click のコードを実行
// 本当の意味でのクリック動作ではない
Panel1Click(nil);
end;
procedure TForm1.Panel1Click(Sender: TObject);
begin
ShowMessage('Clicked ');
end;
|
|