|
폼버튼 클릭 이벤트
보시면
아마 이렇게 되어 있을거에요
procedure TForm.ButtonClick(Sender : TObject);
begin
end;
저기 Sender가 바로 이벤트 호출의 주체가 되는 겁니다.
procedure TForm.ButtonClick(Sender : TObject);
var
tb : TButton;
begin
//이벤트 호출 주체인 Sender를 TObject 에서 TButton 객체로 치환
tb := TButton(Sender);
ShowMessage(tb.caption);
end;
이렇게 하시구요 ButtonClick 이벤트를
각 버튼에 클릭이벤트에 할당하게 되면 ButtonClick 이벤트는 이벤트를 호출한 버튼의 캡션을 출력하게 됩니다.
이상입니다.
축구 님이 쓰신 글 :
: 버튼 100개가 있는데 하는일이 누르면 자기가 가지고 있는 캡션을 출력을 한다고 할시
:
: 같은걸 100번 코딩하는거 말고 함수를 하나 만들어서 해도 되는데요
:
: 1번 버튼이눌렸는지 2번버튼이 눌렸는지 그건 어떻게 아는 거에요?
:
: 함수를 하나 만든다면 버튼마다 함수 호출할때 어떤게 눌렸는지 인자를 넘겨주면 될거 같은데 그럼 버튼마다 함수를 호출해서
:
: 100번 호출 하잖아요?
:
: 이방법 말고 버튼 하나에만 출력하는 코딩한다음 나머지 버튼은 온클릭을 버튼 1로 해주려하는데 이때
:
: Memo1->Lines->Add(button1->caption);
:
: 이런식으로 한다면 2~100번 버튼까지도 버튼 1캡션이 나오잖아요?
:
: 이걸 어떻게 바꿔야 각자로 인식을 할까요? this로 하면 form캡션이 인식이 되고 Sender에는 없는거 같고
:
: 어디선가 본것 같긴한데 잘 모르겠네요
|