首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

关于CTabCtrl的使用解决方法

2012-01-30 
关于CTabCtrl的使用我想在CTabCtrl类中使用一个Dialog模板,当我利用资源里的对话框模板创建一个CDialog后

关于CTabCtrl的使用
我想在CTabCtrl类中使用一个Dialog模板,
当我利用资源里的对话框模板创建一个CDialog后
然后把它加CTabCtrl的Item中   怎么什么都没显示。

[解决办法]
还要把对话框移到tabctrl上正确的位置才行


例如:

//创建两个对话框
m_page1.Create(IDD_DIALOG1, &m_tab);
m_page2.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_page1.MoveWindow(&rc);
m_page2.MoveWindow(&rc);


[解决办法]
TC_ITEM TabCtrlItem;
TabCtrlItem.mask = TCIF_TEXT;
TabCtrlItem.pszText = "1 ";
m_ctrlTab.InsertItem(0, &TabCtrlItem);
TabCtrlItem.pszText = "2 ";
m_ctrlTab.InsertItem(1, &TabCtrlItem);
TabCtrlItem.pszText = "3 ";
m_ctrlTab.InsertItem(2, &TabCtrlItem);

m_dlg1.Create(IDD_DIALOG1, &m_ctrlTab);
m_dlg1.SetWindowPos(&wndTop, 3, 25, 0, 0, SWP_NOSIZE | SWP_SHOWWINDOW);

m_dlg2.Create(IDD_DIALOG2, &m_ctrlTab);
m_dlg2.SetWindowPos(&wndTop, 3, 25, 0, 0, SWP_NOSIZE | SWP_HIDEWINDOW);

m_dlg3.Create(IDD_DIALOG3, &m_ctrlTab);
m_dlg3.SetWindowPos(&wndTop, 3, 25, 0, 0, SWP_NOSIZE | SWP_HIDEWINDOW);
m_dlg1,m_dlg2,m_dlg3定义成全局变量。
m_ctrlTab是控件类型的变量。
[解决办法]
http://msdn2.microsoft.com/EN-US/library/awh5x2d4(VS.80).aspx

热点排行