一、在對話(huà)框視圖中加入CTabCtrl控件,資源ID:IDC_TAB,變量名:m_Tab
DDX_Control(pDX, IDC_TAB1, m_Tab);
BEGIN_MESSAGE_MAP(CSystemConfig, CDialog)
//{{AFX_MSG_MAP(CSystemConfig)
ON_NOTIFY(TCN_SELCHANGE, IDC_TAB1, OnSelchangeTab1)
ON_BN_CLICKED(IDSYSCFGOK, OnSyscfgok)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
二
BOOL CSystemConfig::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_Tab.InsertItem(0, "監控點(diǎn)設置");
m_SetSurveillanceDlg.Create(IDD_DLG_SETREMOTE, &m_Tab);
m_SetSurveillanceDlg.ShowWindow(SW_SHOW);
m_Tab.InsertItem(1, "本地設置");
m_SetClientDlg.Create(IDD_DLG_SETLOCAL, &m_Tab);
m_SetClientDlg.ShowWindow(SW_HIDE);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
//雙擊對話(huà)框
/*void CSystemConfig::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
switch(m_Tab.GetCurSel())
{
case 0:
m_SetSurveillanceDlg.ShowWindow(SW_SHOW);
m_SetClientDlg.ShowWindow(SW_HIDE);
break;
case 1:
m_SetSurveillanceDlg.ShowWindow(SW_HIDE);
m_SetClientDlg.ShowWindow(SW_SHOW);
break;
default:
break;
}
*pResult = 0;
}*/
頭文件中
//{{AFX_MSG(CSystemConfig)
afx_msg void OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult);
//}}AFX_MSG
三、響應m_Tab的TCN_SELCHANGE消息,實(shí)現切換頁(yè)面功能
//雙擊對話(huà)框或在view->classwizard->在object IDs 中選擇IDC_TAB1,message中選擇
TCN_SELCHANGE.
void CMyDlg::OnSelchangeTab(NMHDR* pNMHDR, LRESULT* pResult)
{
int nCurSel = m_Tab.GetCurSel();
switch(nCurSel)
{
case 0: // 顯示子窗口1
m_dlgChile1.ShowWindow(TRUE);
m_dlgChile2.ShowWindow(FALSE);
break;
case 1: // 顯示子窗口2
m_dlgChile1.ShowWindow(FALSE);
m_dlgChile2.ShowWindow(TRUE);
break;
}
*pResult = 0;
}