Q&A

  • MDI 폼에서......
MDI메인폼에서 여러개의 Child화면이 뜬 상태에서 현재 Active되어 있는

화면의 앞화면 또는 뒷화면으로 이동하는 버튼을 메인폼에 생성하려고 하는데

잘 안되네요. 별거 아닌 것 같은데... 아 이 초보의 한계



또 한가지 MDI 메인폼의 메뉴바에서 프로그램을 선택하면 이미 해당 화면이

Child로 떠있는 상태라면 새로 화면을 Crete하는 것이 아니라 이미 떠있는

해단화면을 Active만 시켜주려면 어떻게 해야 하나요?



1  COMMENTS
  • Profile
    구창민 2000.01.14 01:42
    호 wrote:

    > MDI메인폼에서 여러개의 Child화면이 뜬 상태에서 현재 Active되어 있는

    > 화면의 앞화면 또는 뒷화면으로 이동하는 버튼을 메인폼에 생성하려고 하는데

    > 잘 안되네요. 별거 아닌 것 같은데... 아 이 초보의 한계

    >

    > 또 한가지 MDI 메인폼의 메뉴바에서 프로그램을 선택하면 이미 해당 화면이

    > Child로 떠있는 상태라면 새로 화면을 Crete하는 것이 아니라 이미 떠있는

    > 해단화면을 Active만 시켜주려면 어떻게 해야 하나요?

    >



    이미 실행중인 ChildForm일 경우는 다시 활성화만 시켜주면 되겠네요.

    ChildForm이 미리 떠있는지 확인하고,

    만들어져 있지 않다면 생성하는 루틴을 작성하세요.



    //아래 인자로 전해지는 ChildName은 폼이름입니다.

    Procedure TMDIMainForm.MakeChild(ChildName: String);

    Var

    i: integer;

    begin

    //미리 Child Form이 만들어 져있나 확인하는 과정

    for i := MDIChildCount - 1 downto 0 Do

    begin

    If MDIChildren[i].ClassName = 'T' + ChildName Then

    begin

    MDIChildren[i].BringToFront;

    MDIChildren[i].WindowState := wsNormal;

    Exit; //이미 만들어져 있으므로 활성화만 시켜주고 빠져나갑니다.

    end;

    end;

    // 이 아래에서는 생성되어 있지 않은 Child Form이므로

    // Child Form 을 새로이 생성시켜주면 되겠죠.

    :

    :

    end

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