안녕하세여 꾸벅~~ 왕처버 입니다.
버튼을 동적생성으로 만드는 것까쥐는 했씁니다.
밑에가 동적생성으로 만든 버튼을 클릭했을때 이벤트가 일어나게 하는 것입니다.
그런데 동적으로 버튼을 계속생성하묜 클릭이벤트가 모두 밑에 걸루 뜹니다.
procedure TForm1.btneventClick(Sender: TObject);
begin
showmessage('성공했습니다~~~ 행님~~!');
end;
동적으로 몇개의 버튼을 만들어도 다른 이벤트를 주고 싶은데 어떻게 하묜 될까여??
알고 계신분은 꼭 답변해주세여~~~
단, OnClick Property는 TNotifyEvent의 타입을 가져야 됩니다.
Button은 지역변수로 해도 되지만 TForm1의 Class에서 관리하시는 것이 바람직합니다(폼이 종료될 때 Button객체의 해제가 자동으로 되지만 프로그램에서 해제를 해주는 것이 좋으므로).
--- 생성방법 ---
begin
Button := TButton.Create(Self);
Button.Parent := Self;
Button.Caption := '눌러봐';
Button.OnClick := MyButtonClick;
end;
--- 프로시저 선언 ---
TForm1의 private에 다음과 같은 프로시저를 선언해 주십시오.
private
{ Private declarations }
procedure MyButtonClick(Sender: TObject);
...
--- 프로시저 정의 ----
procedure TForm1.MyButtonClick(Sender: TObject);
begin
ShowMessage('동적 생성에 대한 클릭 이벤트입니다');
end;
왕초보 wrote:
> 안녕하세여 꾸벅~~ 왕처버 입니다.
>
> 버튼을 동적생성으로 만드는 것까쥐는 했씁니다.
> 밑에가 동적생성으로 만든 버튼을 클릭했을때 이벤트가 일어나게 하는 것입니다.
> 그런데 동적으로 버튼을 계속생성하묜 클릭이벤트가 모두 밑에 걸루 뜹니다.
>
> procedure TForm1.btneventClick(Sender: TObject);
> begin
> showmessage('성공했습니다~~~ 행님~~!');
> end;
>
> 동적으로 몇개의 버튼을 만들어도 다른 이벤트를 주고 싶은데 어떻게 하묜 될까여??
>
> 알고 계신분은 꼭 답변해주세여~~~
>
>