主题:VC的界面问题 TabCtrl 与 Dialog
我在做VC的界面,遇到一个问题,就是CDialog的对话框,不能很好的嵌在CTabCtrl中,
代码如下,帮忙看一下了
void ControlPlane::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
// TODO: Add your specialized code here and/or call the base class
TCITEM item;
item.mask = TCIF_TEXT;
item.pszText = "Create";
m_TabCtrl.InsertItem (0,&item);
item.pszText = "Modife";
m_TabCtrl.InsertItem (1,&item);
m_CreateTab.Create (IDD_TAB_CREATE,&m_TabCtrl);
m_ModifeTab.Create (IDD_TAB_MODIFE,&m_TabCtrl);
CRect rc;
m_TabCtrl.GetWindowRect(rc);
rc.top = rc.top + 2;
rc.left = rc.left + 2;
rc.right = rc.right - 2;
rc.bottom = rc.bottom - 2;
int cx = rc.right - rc.left;
int cy = rc.bottom - rc.top;
//问题
m_CreateTab.SetWindowPos(NULL,rc.top,rc.left,rc.right,rc.bottom,SWP_SHOWWINDOW);
//替换部分
//m_CreateTab.ShowWindow(WS_SHOW);
}
这个就是问题的代码,问题出现在最后两行,如果换成地下的那一行 m_CreateTab.ShowWindow(WS_SHOW); 倒是可以显示,但是位置不对,Dailog把标签给盖住了,如果换成上面的那一行,就跟不显示不出来Dialog了,
怎么办呢?
代码如下,帮忙看一下了
void ControlPlane::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
// TODO: Add your specialized code here and/or call the base class
TCITEM item;
item.mask = TCIF_TEXT;
item.pszText = "Create";
m_TabCtrl.InsertItem (0,&item);
item.pszText = "Modife";
m_TabCtrl.InsertItem (1,&item);
m_CreateTab.Create (IDD_TAB_CREATE,&m_TabCtrl);
m_ModifeTab.Create (IDD_TAB_MODIFE,&m_TabCtrl);
CRect rc;
m_TabCtrl.GetWindowRect(rc);
rc.top = rc.top + 2;
rc.left = rc.left + 2;
rc.right = rc.right - 2;
rc.bottom = rc.bottom - 2;
int cx = rc.right - rc.left;
int cy = rc.bottom - rc.top;
//问题
m_CreateTab.SetWindowPos(NULL,rc.top,rc.left,rc.right,rc.bottom,SWP_SHOWWINDOW);
//替换部分
//m_CreateTab.ShowWindow(WS_SHOW);
}
这个就是问题的代码,问题出现在最后两行,如果换成地下的那一行 m_CreateTab.ShowWindow(WS_SHOW); 倒是可以显示,但是位置不对,Dailog把标签给盖住了,如果换成上面的那一行,就跟不显示不出来Dialog了,
怎么办呢?