고수님들 안녕하세요...
왕초본데요..하다가 막히는게 있어서요..
질문과 소스는 아래와 같습니다..
+++++++++++++++++++++++++
# 질문하나...
: 새로 만든 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.