关闭子窗口父窗口同时关闭
在父窗口CHotmanagerDlg中:
void CHotmanagerDlg::OnMaincontrol()
{
// TODO: Add your command handler code here
CMainControlDlg mcontrol;
mcontrol.DoModal();
}
子窗口CMainControlDlg中:
BOOL CMainControlDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_Tab.InsertItem(0,"1~15号");
m_Tab.InsertItem(1,"16~30号");
m_Tab.InsertItem(2,"PLC数据显示");
tab1.Create(IDD_TAB_ONE,GetDlgItem(IDC_TAB));
tab2.Create(IDD_TAB_TWO,GetDlgItem(IDC_TAB));
tab3.Create(IDD_TAB_THREE,GetDlgItem(IDC_TAB));
// 将子窗口显示在m_Tab范围内
CRect rs;
m_Tab.GetClientRect(rs);
rs.top+=30;
rs.bottom-=1;
rs.left+=4;
rs.right-=4;
tab1.MoveWindow(rs);
tab2.MoveWindow(rs);
tab3.MoveWindow(rs);
// 默认显示第一个子窗口
m_Tab.SetCurSel(0);
tab1.ShowWindow(SW_SHOW);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CMainControlDlg::OnSelchangeTab(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int nCurSel = m_Tab.GetCurSel();
switch(nCurSel)
{
case 0: // 显示子窗口1
tab1.ShowWindow(SW_SHOW);
tab2.ShowWindow(SW_HIDE);
tab3.ShowWindow(SW_HIDE);
break;
case 1: // 显示子窗口2
tab1.ShowWindow(SW_HIDE);
tab2.ShowWindow(SW_SHOW);
tab3.ShowWindow(SW_HIDE);
break;
case 2: // 显示子窗口3
tab1.ShowWindow(SW_HIDE);
tab2.ShowWindow(SW_HIDE);
tab3.ShowWindow(SW_SHOW);
break;
}
*pResult = 0;
}
程序运行时关闭子窗口的同时父窗口会自动关闭,为什么?不理解