MFC停CtabCtrl控件弹出子窗口后覆盖CtabCtrl控件
MFC下CtabCtrl控件弹出子窗口后覆盖CtabCtrl控件
窗口有一个CtabCtrl控件 然后有几个Child窗口 当弹窗Child窗口的时候会覆盖CtabCtrl空间的显示 还会超出CtabCtrl控件的区域 怎么解决 下面是我写的弹出框代码 没有关闭打开前的一个窗口 也不知道怎么写才对 求大神们指点 有代码例子最好
主菜单:

点击某个按钮之后:

我的打开方式代码:
void CMyMainLog::OnClickTABMyMainLog(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int CurSel;
CurSel=m_TabCtrl.GetCurSel();
switch(CurSel)
{
case 0:
{
CInOutNote *plg = new CInOutNote;
plg->Create(IDD_DIALOG_InOutNote,this);
plg->ShowWindow(SW_SHOW);
//this->ShowWindow(SW_HIDE);
}
break;
case 1:
{
CInOutList *plg = new CInOutList;
plg->Create(IDD_DIALOG_InOutList,this);
plg->ShowWindow(SW_SHOW);
//this->ShowWindow(SW_HIDE);
}
break;
case 2:
{
COutSide *plg = new COutSide;
plg->Create(IDD_DIALOG_OutSide,this);
plg->ShowWindow(SW_SHOW);
//this->ShowWindow(SW_HIDE);
}
break;
......
......
......
default: break;
}
*pResult = 0;
}
------解决方案--------------------
1.Child窗口的时候会覆盖CtabCtrl空间的显示 还会超出CtabCtrl控件的区域
答:把Child窗口的父窗口设置为CtabCtrl就解决了
2.打开当前窗口的时候怎么关闭上一个窗口
答:每打开一个窗口,把窗口句柄或指针保存起来,下次打开时,发现已经打开有子窗口,那就发送WM_CLOSE等消息关闭掉.
------解决方案--------------------
用 CTabCtrl:AdjustRect 调整下控件位置
窗口有一个CtabCtrl控件 然后有几个Child窗口 当弹窗Child窗口的时候会覆盖CtabCtrl空间的显示 还会超出CtabCtrl控件的区域 怎么解决 下面是我写的弹出框代码 没有关闭打开前的一个窗口 也不知道怎么写才对 求大神们指点 有代码例子最好
主菜单:
点击某个按钮之后:
我的打开方式代码:
void CMyMainLog::OnClickTABMyMainLog(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int CurSel;
CurSel=m_TabCtrl.GetCurSel();
switch(CurSel)
{
case 0:
{
CInOutNote *plg = new CInOutNote;
plg->Create(IDD_DIALOG_InOutNote,this);
plg->ShowWindow(SW_SHOW);
//this->ShowWindow(SW_HIDE);
}
break;
case 1:
{
CInOutList *plg = new CInOutList;
plg->Create(IDD_DIALOG_InOutList,this);
plg->ShowWindow(SW_SHOW);
//this->ShowWindow(SW_HIDE);
}
break;
case 2:
{
COutSide *plg = new COutSide;
plg->Create(IDD_DIALOG_OutSide,this);
plg->ShowWindow(SW_SHOW);
//this->ShowWindow(SW_HIDE);
}
break;
......
......
......
default: break;
}
*pResult = 0;
}
MFC
控件
CTabCtrl
Child窗口
------解决方案--------------------
1.Child窗口的时候会覆盖CtabCtrl空间的显示 还会超出CtabCtrl控件的区域
答:把Child窗口的父窗口设置为CtabCtrl就解决了
2.打开当前窗口的时候怎么关闭上一个窗口
答:每打开一个窗口,把窗口句柄或指针保存起来,下次打开时,发现已经打开有子窗口,那就发送WM_CLOSE等消息关闭掉.
------解决方案--------------------
用 CTabCtrl:AdjustRect 调整下控件位置