MFC停CtabCtrl控件弹出子窗口后覆盖CtabCtrl控件

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

点击某个按钮之后:
MFC停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 调整下控件位置