我在CTabCtrl的一个属性页中,又加入了一个CTabCtrl,可是不能显示,怎么解决呢?
解决方案 »
- 哪里有开源的网络抓包的代码(C或者C++语言);抓包时支持选择从哪个网卡(至少支持双网卡)抓包;能抓网络通讯方面的数据包,不管是TCP还是UDP,谢一辈子真心求
- WaitForSingleObject参数问题
- 如何使得窗口不具有焦点??
- mfc读写文本文件
- 看看这道加分题
- 如何实现类似于msdn2003那样的界面效果?主要是它的controlbar
- 各位老大,我遇到了这种link错误,咋回事?
- 今天我生日,:). 22岁整.
- 能用Win32 Console Application编动态连接库吗?
- 为什么应用MFC向导编程序时总是用动态连接库,也没有提示,当把一个调试完的程序考到没安装VC的电脑是总是少了DLL文件?请指教
- 如何让ComboboxEx响应回车事件呢?
- MFC多行编辑框提行问题
m_tabPage.AddPage("采集数据", &m_pageDataCollect, IDD_DATA_COLLECT_DIALOG);
m_tabPage.Show();.........在m_pageDataCollect中DDX_Control(pDX, IDC_TAB_SET, m_tabSet);
m_tabSet.AddPage("串口设置", &m_pageSerialSet, IDD_SERIAL_DIALOG);
m_tabSet.Show();
// m_MyTab 为tab控件变量
// m_Page1,m_Page2 为对话框类,就是你的属性页
{
CRect m_Rect;
GetWindowRect(&m_Rect);
ScreenToClient(&m_Rect);
TCITEM m_item;
//为Tab添加第一页
m_item.mask = TCIF_TEXT;
m_item.pszText = "第一页";
m_MyTab.InsertItem(0,&m_item);
m_Page1.Create(IDD_DIALOG1,&m_MyTab);
m_Page1.SetWindowPos(NULL,10,30,m_Rect.right - 15,m_Rect.bottom - 40,SWP_SHOWWINDOW);//为Tab添加第二页
m_item.pszText = "第二页";
m_MyTab.InsertItem(1,&m_item);
m_Page2.Create(IDD_DIALOG2,&m_MyTab);
m_Page2.SetWindowPos(NULL,10,30,m_Rect.right - 15,m_Rect.bottom - 40,SWP_HIDEWINDOW);
}// 然后添加tabCTRL控件的TCN_SELCHANGE事件
void CMyDlg::OnTcnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: 在此添加控件通知处理程序代码
//获得客户区
CRect m_Rect;
m_MyTab.GetClientRect(&m_Rect);switch(m_MyTab.GetCurSel())
{
case 0:
m_Page1.SetWindowPos(NULL,10,30,m_Rect.right - 15,m_Rect.bottom - 40,SWP_SHOWWINDOW);
m_Page2.SetWindowPos(NULL,10,30,m_Rect.right - 15,m_Rect.bottom - 40,SWP_HIDEWINDOW);
break;
case 1:
m_Page1.SetWindowPos(NULL,10,30,m_Rect.right - 15,m_Rect.bottom - 40,SWP_HIDEWINDOW);
m_Page2.SetWindowPos(NULL,10,30,m_Rect.right - 15,m_Rect.bottom - 40,SWP_SHOWWINDOW);
break;
}
*pResult = 0;
}
以此类推.你在添加其他的tab的时候也按照这样的办法试试看.
这样就行了.
平时用的时候 不就是把要放在TAB属性页的控件放到一个DIALOG里 然后手动去控制显示隐藏的嘛
网上有对这操作封装好了的类 楼主不妨去找来一试