Q&A

  • [질문/다시] 동적폼 생성후 이벤트핸들러는 어떻게??
unit Unit1;



interface



uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls;



type

TForm1 = class(TForm)

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;



var

Form1: TForm1;



implementation



{$R *.DFM}



procedure TForm1.Button1Click(Sender: TObject);

var

Myform: Tform;

Mybutton: Tbutton;

begin

Myform := Tform.Create(Application);

With Myform do begin

Caption := '연습폼';

end;

Mybutton := Tbutton.Create(Myform);

With Mybutton do begin

Caption := '자식폼만들기';

Parent := Myform;

Left := 100;

Top := 100;

Height := 60;

Width := 200;

end;

Myform.ShowModal;

end;



end.



위와 같이 동적폼을 생성후 생성된 폼위에 버튼 배치까지는 문제없이 되는데

동적으로 생성된 Myform에서 Mybutton의 OnClick를 만들어주려 해요

어떻게 해야 되는지 고수님들의 답변을 부탁드립니다.



Myform.MybuttonClick 이벤트를 만들어줘야 하지 않을까요?



참고사항 : 실행시 form1개, 버튼을 누르면 동적으로 생성된 form 1개위에 버튼하나

그 폼위의 버튼을 누르면 다시

동적인 폼을 생성시키고 싶어서 그럽니다.



부디..



1  COMMENTS
  • Profile
    구창민 1999.12.21 19:21
    은철수 wrote:

    > unit Unit1;

    >

    > interface

    >

    > uses

    > Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    > StdCtrls;

    >

    > type

    > TForm1 = class(TForm)

    > Button1: TButton;

    > procedure Button1Click(Sender: TObject);

    > private

    > { Private declarations }

    > public

    > { Public declarations }

    > end;

    >

    > var

    > Form1: TForm1;

    >

    > implementation

    >

    > {$R *.DFM}

    >

    > procedure TForm1.Button1Click(Sender: TObject);

    > var

    > Myform: Tform;

    > Mybutton: Tbutton;

    > begin

    > Myform := Tform.Create(Application);

    > With Myform do begin

    > Caption := '연습폼';

    > end;

    > Mybutton := Tbutton.Create(Myform);

    > With Mybutton do begin

    > Caption := '자식폼만들기';

    > Parent := Myform;

    > Left := 100;

    > Top := 100;

    > Height := 60;

    > Width := 200;

    > end;

    > Myform.ShowModal;

    > end;

    >

    > end.

    >

    > 위와 같이 동적폼을 생성후 생성된 폼위에 버튼 배치까지는 문제없이 되는데

    > 동적으로 생성된 Myform에서 Mybutton의 OnClick를 만들어주려 해요

    > 어떻게 해야 되는지 고수님들의 답변을 부탁드립니다.

    >

    > Myform.MybuttonClick 이벤트를 만들어줘야 하지 않을까요?

    >

    > 참고사항 : 실행시 form1개, 버튼을 누르면 동적으로 생성된 form 1개위에 버튼하나

    > 그 폼위의 버튼을 누르면 다시

    > 동적인 폼을 생성시키고 싶어서 그럽니다.

    >

    > 부디..

    >



    아래 한줄을 생성된 버튼의 with문안에 삽입하면 되겠네요.

    OnClick := MyButtonClick;



    그리고 실제로 몸체도 작성해줘야죠.. 예를들면

    procedure TForm1.MyButtonClick(Sender : TObject);

    begin

    with (Sender as TButton) do

    ShowMessage('동적버튼을 눌렀넹~');

    end;

    오타없으면 될겁니다.

    참, 위에 선언부 작성하시는거 잊지 마시구요~

    그럼, 즐거운 프로그래밍 하세요~