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
[48030] Re:하나의 폼에 여러개의 프레임을 올리려면 어떻게 해야 하는지 알고 싶습니다.
맑은햇살 [devkyy] 1113 읽음    2007-02-08 17:29
허접한 답변일지도 모르겠습니다..
그냥.. 직관적으로 보기 편해서 전 이런 방식을 좋아합니다.

M$에서 많이 사용하는 Dialog Bar와 비슷한 처리를 하고 싶으신듯 하네요.
여러 방법이 있겠지만, 저 같은 경우는 다음의 방법을 많이 사용합니다..
메뉴 프레임을 작성해 메뉴 프레임에서는 베이스 폼으로 메시지를 보내서 베이스 폼에서 처리하도록 합니다..

소스로 본다면...

// Main Form 부분에 기본 틀 생성
__fastcall TfmBase::TfmBase(TComponent* Owner)
    : TForm(Owner)
{
    // 영역 지정... 저는 우선 상/하 두영역으로 나누었습니다.. 이부분은 원하시는 대로 나누세요..
    TRect rectMenu = Rect(0, 0, 1024, 60);
    TRect rectBaseFull = Rect(0, 60, 1024, 768);

    frmMenu = new TfrmMenu(this);
    frmMenu->Dock(this, rectMenu);

    Frmmain = New Tfrmmain(This);
    Frmmain->Dock(This, Rectbasefull);
}

// 이전 생성된 프레임 삭제...
void __fastcall TfmBase::fncBasefrmDelete()                // Form Delete
{
    // 메인 부분 지우기
    if(frmMain)
    {
        delete frmMain;
        frmMain = NULL;
    }
    ...... //  기타 추가된 프레임을 처리해 줍니다.
}
// 메뉴에서 선택된 값을 처리합니다..
void __fastcall TfmBase::fncfrmChange(int nPage)     // Form Change
{
    fncBasefrmDelete();             // 이전 Base 폼 삭제.
   
    TRect rectBaseFull = Rect(0, 60, 1024, 768); // 그냥 현재 폼의 크기를 가져와도 됩니다. 전 그냥 고정으로 처리합니다..

    switch (nPage)
    {
        case 0:
            frmMain = new TfrmMain(this);
            frmMain->Dock(this, rectBaseFull);
            ......
    }
}

이런식으로 처리하면 원하는 만큼 위치하도록 만들수 있을 것입니다...

영역지정을 잘하면 여러단의 폼을 위치하도록 할 수도 있고..
하나의 폼으로 처리할수도 있습니다..

참, 책은 워낙 적어서... 추천해드리기가 좀 그렇네요..(저 같은 경우에는 강컴에서 E-Book을 많이 참고했습니다.)
시간이 되시면 델파이 책을 보시는것도 하나의 방법이라고 생각이 듭니다.. 기본 사용법이나.. 참고하는 것은 델파이나 별 차이가 없으니까요..
그리고, 여기 게시판을 참고해도 많은 도움이 될 듯 합니다..

leaderkk 님이 쓰신 글 :
: 폼이 하나있고 여기에 하나의 프레임이 있습니다.
:
: 그리고, 이미 작성된 여러개의 프레임이 따로 있습니다.
:
: 이렇게 작성된 프레임을 각 각의 버튼을 누를때 마다 폼에 있는 프레임의 화면을 바꾸고 싶습니다.
:
: 이렇게 하려면 어떻게 해야 하는지 알려 주시면 감사하겠습니다.
:
: 공부한지 얼마 안되서 어렵네요.
:
: 그리고 괜찮은 책도 추천해 주세요.
:
: 즐거운 하루되세요.

+ -

관련 글 리스트
48028 하나의 폼에 여러개의 프레임을 올리려면 어떻게 해야 하는지 알고 싶습니다. leaderkk 866 2007/02/08
48039     장성호님, 맑은햇살님 답변주셔서 감사합니다. leaderkk 881 2007/02/09
48042         Re:장성호님, 맑은햇살님 답변주셔서 감사합니다. 맑은햇살 897 2007/02/09
48031     Re:하나의 폼에 여러개의 프레임을 올리려면 어떻게 해야 하는지 알고 싶습니다. 장성호 1142 2007/02/08
48030     Re:하나의 폼에 여러개의 프레임을 올리려면 어떻게 해야 하는지 알고 싶습니다. 맑은햇살 1113 2007/02/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.