unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure SetSender(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.SetSender(Sender: TObject);
begin
ShowMessage( TButton(Sender).Name);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage( TButton(Sender).Caption );
SetSender(Sender);
end;
end.
버튼을 4개 폼에 올려놓고, 버튼1의 클릭 이벤트를 만든다.
그리고 나머지 3개의 클릭 이벤트는 버튼1 클릭 이벤트로 향하게 둔다..
그리고 각 버튼들을 눌러보면 눌러진 캡션명과 이름이 메세지박스로 출력이 된다..
TButton(Sender).Caption 이처럼 해주면된다.
객체(Sender).맴버들
Sender을 잘 이용하면 많은 버튼 클릭들과 같은 단순한 이벤트들을 다 작성하지 않고, 한군데에서 처리할 수 있다.
|