C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[21157] Re:[질문] MDI에서 정렬을 내가 원하는 형태로 할수 있나요 ?
유영인.Chris [cuperido] 1183 읽음    2002-08-31 13:30
File - New 에서 [Project] 탭의 MDI Application 을 선택하시면 기본적인 MDI 폼이 만들어집니다.

#define MAX_CHILDMDI 100
TMDIChild *ChildList[MAX_CHILDMDI];

위 두줄을 정의시켜주시고,

__fastcall TMainForm::TMainForm(TComponent *Owner) : TForm(Owner)
{

int               itCount;


for(itCount = 0; itCount < MAX_CHILDMDI; itCount ++)
   ChildList[itCount] = NULL;

}
//---------------------------------------------------------------------------

void __fastcall TMainForm::CreateMDIChild(String Name)
{
    TMDIChild *Child;
        int        itCount, itHeight;

    //--- create a new MDI child window ----
    Child = new TMDIChild(Application);
    Child->Caption = Name;

        ChildList[MDIChildCount - 1] = Child;

    if(FileExists (Name))
          Child->Memo1->Lines->LoadFromFile(Name);


        for(itCount = 0; itCount < MAX_CHILDMDI; itCount ++)
          if(ChildList[itCount]) {
            if(itCount == 0) {
              ChildList[itCount]->Left   = 0;
              ChildList[itCount]->Top    = 0;
              ChildList[itCount]->Width  = 200;
              ChildList[itCount]->Height = MainForm->Height - 100;
             } else {
              itHeight = (MainForm->Height - 100) / (MDIChildCount - 1);

              ChildList[itCount]->Left   = 201;
              ChildList[itCount]->Top    = (MainForm->Height - 100) - (itHeight * ((MDIChildCount) - itCount));
              ChildList[itCount]->Width  = MainForm->Width - 220;
              ChildList[itCount]->Height = itHeight;
            }
          }

}

위 함수가 정의되어 있는 부분에 윗 부분을 추가시킵니다.
새 폼을 추가시키실 때마다 말씀하신 정렬 방식으로 정렬됩니다.

급하게 한거라 폼을 만든다음 지울때등의 변수적인 부분은 모두 빠져 있습니다. --



생초보 님이 쓰신 글 :
: 안녕하세요.
:
: MDI를 쓰다가 정렬에 의문이 생긴 생초보입니다.
:
: MDI에서 정렬을 하면 세로 정렬 가로 정렬이 되는데
:
: 제가 원하는 형태로 정렬을 할수 있는지 예제나 사이트
:
: 아시는분 알려 주십시요.
:
: 예를 들어서...
:
:
: |-----------------------------|
: |      |                      |
: |      |                      |
: |      |----------------------|
: |      |                      |
: |      |                      |
: |      |----------------------|
: |      |                      |
: |      |                      |
: -------------------------------
:
:
: 항상 이형태를 유지하는 MDI Child 창 정렬.
: Child 창을 추가해도 왼쪽의 긴창은 변하지 않고
: 오른 쪽만 변할 수 있는 방법...
:
:
: 답변 부탁합니다.
:

+ -

관련 글 리스트
21146 [질문] MDI에서 정렬을 내가 원하는 형태로 할수 있나요 ? 생초보 683 2002/08/31
21157     Re:[질문] MDI에서 정렬을 내가 원하는 형태로 할수 있나요 ? 유영인.Chris 1183 2002/08/31
21183         답변 감사합니다. 또 한번 해보겠습니다.(냉무) 생초보 617 2002/09/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.