2013-10-07 39 views
0

我有以下代碼,它在主對話框中工作,但不能在第二個(或第三個)對話框中工作。問題是我希望tab控件的每個頁面都可以顯示一個嵌入對話框,它類似於屬性頁面。在選項卡控件中的嵌入式對話框不能在第二個對話框中工作MFC

首先,我創建兩個對話框IDD_DIALOG1IDD_DIALOG2。然後我將它們的樣式更改爲child並將邊框更改爲None。之後,我將CDialog分類添加到它們中的每一個。

在我MainDialog.h,我有以下代碼:

#include "Dialog1.h" 
#include "Dialog2.h" 
... 
public: 
    CDialog1 m_para1; 
    CDialog2 m_para2; 
    CTabCtrl m_TabCtrl; 

在我MainDialog.cpp,我使用下面的代碼嵌入在OnInitDialog對話框幷:

m_TabCtrl.InsertItem(0, _T("TAB1")); 
m_TabCtrl.InsertItem(1, _T("TAB2")); 
m_para1.Create(IDD_DIALOG1,GetDlgItem(IDD_MAINDIALOG)); 
m_para2.Create(IDD_DIALOG2,GetDlgItem(IDD_MAINDIALOG)); 

CRect rs; 
m_TabCtrl.GetClientRect(&rs); 

rs.top+=37; 
rs.bottom+=8; 
rs.left+=13; 
rs.right+=7; 

m_para1.MoveWindow(&rs); 
m_para2.MoveWindow(&rs); 

m_para1.ShowWindow(TRUE); 
m_para2.ShowWindow(FALSE); 


m_TabCtrl.SetCurSel(1); 

通過這種方式,它可以在這種情況下工作。但是如果我想在我的SecondDialog這個非主對話框中使用這種方法,它就無法工作。有人可以幫我嗎?提前致謝。

回答

相關問題