我用tab control控件 在
void CSpismgDlg::OnSelchangingTab1(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
//选择页变动时切换页面 pDialog[m_CurSelTab]->ShowWindow(SW_HIDE); m_CurSelTab = m_tab.GetCurSel();
CString aaa;
aaa.Format("%d",m_CurSelTab);
MessageBox(aaa);
pDialog[m_CurSelTab]->ShowWindow(SW_SHOW); *pResult = 0;
}为何GetCurSel();返回的值,和我点选的页对不上,我有三个页 m_tab.InsertItem(0, _T("first"));
m_tab.InsertItem(1, _T("second"));
m_tab.InsertItem(2, _T("third")); m_mm3.Create(IDD_DIALOG3,&m_tab);
m_mm1.Create(IDD_DIALOG1,&m_tab);
m_mm2.Create(IDD_DIALOG2,&m_tab);
//设定在Tab内显示的范围
CRect rc;
m_tab.GetClientRect(rc);
rc.top += 20;
rc.bottom -= 8;
rc.left += 8;
rc.right -= 8; m_mm3.MoveWindow(&rc);
m_mm1.MoveWindow(&rc);
m_mm2.MoveWindow(&rc);
//把对话框对象指针保存起来
pDialog[0] = &m_mm3; pDialog[1] = &m_mm1; pDialog[2] = &m_mm2; //显示初始页面
pDialog[0]->ShowWindow(SW_SHOW); pDialog[1]->ShowWindow(SW_HIDE); pDialog[2]->ShowWindow(SW_HIDE);
//保存当前选择的页面序号
m_CurSelTab=0;
void CSpismgDlg::OnSelchangingTab1(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
//选择页变动时切换页面 pDialog[m_CurSelTab]->ShowWindow(SW_HIDE); m_CurSelTab = m_tab.GetCurSel();
CString aaa;
aaa.Format("%d",m_CurSelTab);
MessageBox(aaa);
pDialog[m_CurSelTab]->ShowWindow(SW_SHOW); *pResult = 0;
}为何GetCurSel();返回的值,和我点选的页对不上,我有三个页 m_tab.InsertItem(0, _T("first"));
m_tab.InsertItem(1, _T("second"));
m_tab.InsertItem(2, _T("third")); m_mm3.Create(IDD_DIALOG3,&m_tab);
m_mm1.Create(IDD_DIALOG1,&m_tab);
m_mm2.Create(IDD_DIALOG2,&m_tab);
//设定在Tab内显示的范围
CRect rc;
m_tab.GetClientRect(rc);
rc.top += 20;
rc.bottom -= 8;
rc.left += 8;
rc.right -= 8; m_mm3.MoveWindow(&rc);
m_mm1.MoveWindow(&rc);
m_mm2.MoveWindow(&rc);
//把对话框对象指针保存起来
pDialog[0] = &m_mm3; pDialog[1] = &m_mm1; pDialog[2] = &m_mm2; //显示初始页面
pDialog[0]->ShowWindow(SW_SHOW); pDialog[1]->ShowWindow(SW_HIDE); pDialog[2]->ShowWindow(SW_HIDE);
//保存当前选择的页面序号
m_CurSelTab=0;
m_CurSelTab = m_tab.GetCurSel(); 为什么先隐藏了再去取,交换一下位置试试
但是你的代码的tab的1,2,3对应的Dialog应该是3,1,2如果这样应该没错的,