Q&A

  • MDI폼으로 만들었는데여.....
델파이 DataBase DeskTop에서처럼 자식폼을 MDI폼에 맞춰서 같은곳에 정렬하고

싶은데여... 그리고 자식폼을 누를때마다 나오는게 아니고 여러번 눌렸을때에는

그전에 생성된 자식폼을 보여주고싶은데여 .... 제발 답변부탁드립니다...

날씨가 많이 추워졌는데여 모두들 감기 조심하시고 즐코하세여...

1  COMMENTS
  • Profile
    basser 2001.02.08 20:53
    안녕하세요. 델초봅니다.



    이와 비슷한 Q&A가 많이 있었는데, 못 찾으셨나 보군요.



    다음의 코딩을 참고하시기 바랍니다.



    type

    TForm1 = class(TForm)

    :

    :

    private

    { Private declarations }

    procedure CreateMDIChild(const Name: string ; const Name2: string);

    :

    :

    implementation

    uses Child2;



    procedure TFrmMain.FormCreate(Sender: TObject);

    begin

    RegisterClass(TForm2); // 자식폼 등록

    end;

    // 메인화면 종료

    procedure TFrmMain.FormClose(Sender: TObject; var Action: TCloseAction);

    begin

    UnRegisterClass(TForm2); // 자식폼 해제

    Action := caFree;

    end;



    // MDI Child 폼 생성

    procedure TForm1.CreateMDIChild(const Name: string ; const Name2: string);

    var

    F : TFormClass ;

    Child : TForm;

    nNumber : integer;

    begin

    for nNumber := 0 to (MDIChildCount - 1) do

    begin

    if MDIChildren[nNumber].Caption = Name then

    begin

    MDIChildren[nNumber].Show;

    Exit;

    end;

    end;

    F := TFormClass(FindClass(Name2));

    Child := F.Create(Application) ;

    Child.Caption := Name;

    Child.WindowState := wsMaximized;

    end;



    // Child 폼을 호출할 때

    procedure TForm1.MENU1_1Click(Sender: TObject);

    begin

    CreateMDIChild('자식폼1', 'TForm2');

    end;



    더 자세한 내용은 검색에서 MDI와 같은 검색어로 찾아보시면, 무수한 질문과 답변이

    나올겁니다.



    그럼... 즐프되세요...



    zerodog wrote:

    > 델파이 DataBase DeskTop에서처럼 자식폼을 MDI폼에 맞춰서 같은곳에 정렬하고

    > 싶은데여... 그리고 자식폼을 누를때마다 나오는게 아니고 여러번 눌렸을때에는

    > 그전에 생성된 자식폼을 보여주고싶은데여 .... 제발 답변부탁드립니다...

    > 날씨가 많이 추워졌는데여 모두들 감기 조심하시고 즐코하세여...