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를 만들어주려 해요

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



그럼..



1  COMMENTS
  • Profile
    박성훈 1999.12.21 04:31
    은철수 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를 만들어주려 해요

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

    >

    > 그럼..

    >





    선언부

    procedure MyButtonClick(Sender:TObject);





    구현부

    procedure TForm1.MyButtonClick(Sender:TObject);

    begin

    ShowMessage('버튼의 이름은 '+TButton(Sender).Name+'입니다');

    end;





    with MyButton do begin

    ......





    OnClick= MyButtonClick; //이코드를 첨가하세요.

    end;