Q&A

  • [급질문] Panel Class + componet넣어 추상class만들기는 어떻게 하죠.
고수님들 안녕하세요...

왕초본데요..하다가 막히는게 있어서요..

질문과 소스는 아래와 같습니다..

+++++++++++++++++++++++++

# 질문하나...

: 새로 만든 Panel class내부에 버튼이나 edit등의 component를 만들어 추상클래스로

맨들어 놓았다가요,... 나중에 클래스만 따로 호출하여 쓰고 싶은데..

일단 Panel까지는 실행시 보여지는데 Panel위에 edit가 보이질 않더군요..

동적 생성이 아니고 class내부에서 보여주고 싶은 component들을 맨들고 잡파요..

어찌 하면 좋을 까요?



# 질문두울...

: 완성된 panel을 resize할 때에도 내부의 component들의 위치가 변하지 않게 하려면

어찌 하면 좋을 까요..?





많은 고수님들의 가르침 두손 모아...두발 모아..

간절히 부탁드립니다..



+++++++++++++++++++++++=

unit UnitPanelTest;



interface



uses

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

StdCtrls,extctrls;



type

TPanelTest = class(TPanel) // TPanel에서 상속받음....

EditTest: Tedit;

protected

constructor Create(AOwn:TComponent);override;

destructor Destroy;override;

end;



var

NewPanel : TPanelTest; // 기타 다른 component를 올릴 panel



implementation



constructor TPanelTest.Create(AOwn:TComponent);

begin

inherited Create(AOwn);

NewPanel.parent := self;

NewPanel := TPanelTest.Create(self);

EditTest.Parent := NewPanel;

EditTest := TEdit.Create(self);

with EditTest do

begin

Top := 5; //panel top=0,Left=0을 기준으로한 Edit의 위치

Left := 5;

end;



end;



destructor TPanelTest.Destroy;

begin

inherited destroy;

EditTest.free;

end;

end.

++++++++++++++

unit Unit1;



interface



uses

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

UnitPanelTest, StdCtrls, ExtCtrls;



type

TForm1 = class(TForm)

panelA : TPanelTest;

Button1 : TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;



var

Form1: TForm1;



implementation



{$R *.DFM}



procedure TForm1.Button1Click(Sender: TObject);

begin

panelA := TPanelTest.Create(self);



end;



end.

0  COMMENTS