<font face="굴림">탭컨트롤이 위치한 Main_Form_View가 있구요</font> <div style="font-size:9pt;">그 탭1, 탭2에 각각 들어갈 Tab1, Tab2 클래스가 있습니다</div> <div style="font-size:9pt;"><br></div> <div style="font-size:9pt;">다음은 Main_Form_View의 OnInitDialog에서 두 탭을 초기화한 내용입니다.</div> <div><div><font face="굴림"><br></font></div> <div><font face="굴림">BOOL CMain_Form_View::OnInitDialog() </font></div> <div><font face="굴림">{</font></div> <div><font face="굴림"><span class="Apple-tab-span" style="white-space:pre;"> </span>CDialog::OnInitDialog();</font></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><font face="굴림"><span class="Apple-tab-span" style="white-space:pre;"> </span>// TODO: Add extra initialization here</font></div> <div><font face="굴림"><span class="Apple-tab-span" style="white-space:pre;"> </span>m_CtrlTab.InsertItem(0, _T("파일 리스트"));<span class="Apple-tab-span" style="white-space:pre;"> </span>//tab1</font></div> <div><font face="굴림"><span class="Apple-tab-span" style="white-space:pre;"> </span>m_CtrlTab.InsertItem(1, _T("폴더 경로"));<span class="Apple-tab-span" style="white-space:pre;"> </span>//tab2</font></div> <div><font face="굴림"><br></font></div> <div><font face="굴림"><span class="Apple-tab-span" style="white-space:pre;"> </span>CRect Rect;</font></div> <div><font face="굴림"><span class="Apple-tab-span" style="white-space:pre;"> </span>m_CtrlTab.GetClientRect(&Rect);<span class="Apple-tab-span" style="white-space:pre;"> </span>//탭의 크기를 구함</font></div> <div><font face="굴림"><br></font></div> <div><font face="굴림"><span class="Apple-tab-span" style="white-space:pre;"> </span>m_Tab1.Create(IDD_DIALOG_ROUTE1, &m_CtrlTab);<span class="Apple-tab-span" style="white-space:pre;"> </span>//탭1 생성</font></div> <div><font face="굴림"><span class="Apple-tab-span" style="white-space:pre;"> </span>m_Tab1.SetWindowPos(NULL, 5, 25, Rect.Width()-7, Rect.Height()-27, </font></div> <div><font face="굴림"><span class="Apple-tab-span" style="white-space:pre;"> </span>SWP_SHOWWINDOW | SWP_NOZORDER);</font></div> <div><font face="굴림"><span class="Apple-tab-span" style="white-space:pre;"> </span>m_pwndShow = &m_Tab1;<span class="Apple-tab-span" style="white-space:pre;"> </span>//탭1 지정</font></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><font face="굴림"><span class="Apple-tab-span" style="white-space:pre;"> </span>m_Tab2.Create(IDD_DIALOG_ROUTE2, &m_CtrlTab);<span class="Apple-tab-span" style="white-space:pre;"> </span>//탭2 생성</font></div> <div><font face="굴림"><span class="Apple-tab-span" style="white-space:pre;"> </span>m_Tab2.SetWindowPos(NULL, 5, 25, Rect.Width()-7, Rect.Height() -27,</font></div> <div><font face="굴림"><span class="Apple-tab-span" style="white-space:pre;"> </span>SWP_NOZORDER);</font></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><font face="굴림"><span class="Apple-tab-span" style="white-space:pre;"> </span>m_Tab1.ShowWindow(SW_SHOW);<span class="Apple-tab-span" style="white-space:pre;"> </span>//탭1 SHOW</font></div> <div><font face="굴림"><span class="Apple-tab-span" style="white-space:pre;"> </span>m_Tab2.ShowWindow(SW_HIDE);<span class="Apple-tab-span" style="white-space:pre;"> </span>//탭2 HIDE</font></div> <div><font face="굴림"><br></font></div> <div><font face="굴림"><span class="Apple-tab-span" style="white-space:pre;"> </span>//////////////////////////////////////////////////////////////////</font></div> <div><font face="굴림"><br></font></div> <div><font face="굴림"><br></font></div> <div><font face="굴림"><span class="Apple-tab-span" style="white-space:pre;"> </span>return TRUE; // return TRUE unless you set the focus to a control</font></div> <div><font face="굴림"><span class="Apple-tab-span" style="white-space:pre;"> </span> // EXCEPTION: OCX Property Pages should return FALSE</font></div> <div><font face="굴림">}</font></div></div> <div><font face="굴림"><br></font></div> <div><font face="굴림">근데 이때 탭2의 소스에</font></div> <div><font face="굴림"></font><div style="color:#5b5b5b;letter-spacing:-.48px;">BOOL CTab2::OnInitDialog() </div> <div style="color:#5b5b5b;letter-spacing:-.48px;">{</div> <div style="color:#5b5b5b;letter-spacing:-.48px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>CDialog::OnInitDialog();</div> <div style="color:#5b5b5b;letter-spacing:-.48px;"><br></div> <div style="color:#5b5b5b;letter-spacing:-.48px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>AfxMessageBox(m_Pathname);</div> <div style="color:#5b5b5b;letter-spacing:-.48px;"><span class="Apple-tab-span" style="white-space:pre;"> </span><font size="2">return TRUE;</font></div> <div style="color:#5b5b5b;letter-spacing:-.48px;"><font size="2">}</font></div> <div style="color:#5b5b5b;letter-spacing:-.48px;"><font size="2">위와 같은 소스를 추가하면 Main_Form_View의 두번째 탭에다</font></div> <div style="color:#5b5b5b;letter-spacing:-.48px;"><font size="2">탭2의 다이얼로그가 초기화 될때 메세지박스가 떠야 하는거 아닌가요?</font></div> <div style="color:#5b5b5b;letter-spacing:-.48px;"><font size="2"><br></font></div> <div style="color:#5b5b5b;letter-spacing:-.48px;"><font size="2">Create도 OnCreate도 안뜨더라구요</font></div> <div style="color:#5b5b5b;letter-spacing:-.48px;"><font size="2">혹시몰라 해본 DoModal에서도요.</font></div> <div style="color:#5b5b5b;letter-spacing:-.48px;"><br></div> <div style="color:#5b5b5b;letter-spacing:-.48px;"><font size="2">만약 탭2의 내용을 초기화 하고싶다면 어디서 해야하나요?</font></div> <div style="color:#5b5b5b;letter-spacing:-.48px;"><font size="2"><br></font></div> <div style="color:#5b5b5b;letter-spacing:-.48px;"><font size="2"><br></font></div> <div style="color:#5b5b5b;letter-spacing:-.48px;"><font size="2">+</font></div> <div style="color:#5b5b5b;letter-spacing:-.48px;"><font size="2">OnInitDialog 함수는</font></div> <div style="color:#5b5b5b;letter-spacing:-.48px;"><font size="2"><br></font></div> <div style="color:#5b5b5b;letter-spacing:-.48px;"><font size="2"> </font><div><span class="Apple-tab-span" style="white-space:pre;"> </span>//{{AFX_MSG(CTab2)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>virtual BOOL OnInitDialog();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//}}AFX_MSG</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>DECLARE_MESSAGE_MAP()</div> <div><br></div> <div>이와같이 헤더파일 안의 MSG 함수 구분하는 주석 사이에 선언되는데 </div> <div>다른 함수와 달리 afx_msg가 안달려있어서 그런지 cpp에선 </div> <div><br></div> <div> <div>BEGIN_MESSAGE_MAP(CTab2, CDialog)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//{{AFX_MSG_MAP(CTab2)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//}}AFX_MSG_MAP</div> <div>END_MESSAGE_MAP()</div></div> <div><br></div> <div>이처럼 별도로 메세지를 받질않네요. 이건 왜이런건가요?</div> <div>WM_InitDialog의 메세지는 바로 프로시저로 전달되는건가요?</div> <div><br></div> <div>질문이 많아 죄송합니다(_ _)</div> <div><br></div></div></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.