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
[60630] Re:Re:TpageControl 에서, Page 마다 cpp 파일 분할 할 수 있나요?
ben [] 1193 읽음    2010-03-30 13:50
우선 댓글 감사합니다.
TPageControl 의 각 Sheet 에 TFrame 을 붙여주니 깔끔하게 원하던 바를 이루어낸 것 같습니다.




skjoon 님이 쓰신 글 :
: (추가)
: 쓰고 다시보니 PageControl을 원하시는 거였네요..ㅎㅎ
: 뭐.. 비슷하지 않을까요? ^^;;
:
: ---------------------------------------------------
: (원래글)
:
: 비주얼씨에서 하던대로 하시면 됩니다. ^^;;
:
: 10년전에 위자드 폼 만든다고 삽질하던게 생각나네요.
:
: 코드 나갑니다. ~
:
: // 헤더파일입니다.
: class TForm1 : public TForm
: {
: __published:	// IDE-managed Components
:     TTabControl *TabControl1;
:     void __fastcall FormCreate(TObject *Sender);
:     void __fastcall FormDestroy(TObject *Sender);
:     void __fastcall TabControl1Change(TObject *Sender);
: private:	// User declarations
:     TForm* m_pTabForms[3]; // 탭에 해당하는 폼의 포인터를 저장할 배열입니다.
:     TForm* m_pCurrTabForm;  // 현재 활성화된 탭(폼)을 가리키는 포인터입니다.
: public:		// User declarations
:     __fastcall TForm1(TComponent* Owner);
: };
: 
: // 소스입니다.
: void __fastcall TForm1::FormCreate(TObject *Sender)
: {
:     m_pTabForms[0] = new TForm2(NULL);
:     m_pTabForms[0]->Parent = TabControl1;
:     m_pTabForms[0]->BorderStyle = bsNone;
:     m_pTabForms[0]->Align = alClient;
:     m_pTabForms[0]->Show(); // 첫번째 탭에 해당하는 폼을 디폴트로 활성화합니다.
: 
:     m_pTabForms[1] = new TForm3(NULL);
:     m_pTabForms[1]->Parent = this->TabControl1;
:     m_pTabForms[1]->BorderStyle = bsNone;
:     m_pTabForms[1]->Align = alClient;
: 
:     m_pTabForms[2] = NULL;
: 
:     m_pCurrTabForm = m_pTabForms[0]; // 현재 활성화된 폼을 저장하구요.
: }
: //---------------------------------------------------------------------------
: 
: void __fastcall TForm1::FormDestroy(TObject *Sender)
: {
:     // 종료하면서 동적으로 생성한 폼을 해제합니다.
:     for(int i = 0; i < 3; i++) {
:         if(m_pTabForms[i]) {
:             delete m_pTabForms[i];
:             m_pTabForms[i] = NULL;
:         }
:     }
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::TabControl1Change(TObject *Sender)
: {
:     // 탭이 바뀔때 현재 활성화된 폼을 닫고 탭에 해당하는 폼을 보여줍니다.
:     Index = ((TTabControl*)Sender)->TabIndex;
: 
:     if(m_pCurrTabForm) {
:         m_pCurrTabForm->Close();
:         m_pCurrTabForm = NULL;
:     }
: 
:     if(m_pTabForms[Index]) {
:         m_pTabForms[Index]->Show();
:         m_pCurrTabForm = m_pTabForms[Index]; // 현재 활성화된 폼을 저장합니다.
:     }
: }
: 
: // Form2, Form3을 Project-Option-Application에서 Auto-Create Form 목록에서 빼줘야겠죠. :->
: //---------------------------------------------------------------------------
: 

:
: 도움이 되셨길 빕니다.
:
: ben 님이 쓰신 글 :
: : 안녕하세요? 가입하고 처음으로 글을 쓰게 되었습니다.
: : C++ 완전정복에서도 많은 도움 얻고 있습니다.
: : MFC쪽만 하다가 C++빌더 쪽으로 넘어온지 얼마 안되었습니다.
: : 생소한 것도 많지만, 하나하나 알아가는 중입니다.
: :
: : 이제 어느정도 적응이 되어서 Form SDI 환경에서 MiniProject 를 진행중입니다.
: : MFC 에서 사용하던 버릇때문인지..
: :
: : TpageControl 에서 각 Page 마다 CPP를 분리해서 사용하고 싶습니다.
: : 불가능은 없을 것 같은데, 어떻게 해야할지 모르겠군요.
: :
: : 폼에 TpageControl 을 붙이는 순간 종속적이니.. ㅎㅎ;;;
: : MFC에서는 다이얼로그를 따로 만들어서 판에 붙이는 방식으로 했었는데...
: :
: : 궁금합니다.
: :
: : 답변주시면 감사하겠습니다.
: : TpageControl 로 검색해서 찾아보니, 이런 질문은 없는듯해서;; 과감히 올립니다. 큭;;

+ -

관련 글 리스트
60625 TpageControl 에서, Page 마다 cpp 파일 분할 할 수 있나요? ben 1051 2010/03/30
60627     Re:TpageControl 에서, Page 마다 cpp 파일 분할 할 수 있나요? skjoon 1215 2010/03/30
60630         Re:Re:TpageControl 에서, Page 마다 cpp 파일 분할 할 수 있나요? ben 1193 2010/03/30
60626     Re:TpageControl 에서, Page 마다 cpp 파일 분할 할 수 있나요? Lyn 1080 2010/03/30
60629         Re:Re:TpageControl 에서, Page 마다 cpp 파일 분할 할 수 있나요? ben 1190 2010/03/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.