MFC中Tab控件的使用方法
2012-11-12 17:27
204 查看
(1)在界面上添加一个Tab控件,绑定一个对应的控制变量,可命名为m_ctrlTab;
(2)创建两个或多个子对话框,记得调整其属性:
Border:none // 去掉子窗口边框
Style:Child // 作为其他窗口的子窗口
当然,还可以修改一下对话框的名称等,针对子窗口的编辑跟其他窗口是一样的。同时为每一个子窗口创建相应的类。
(3)在主窗口类中添加子窗口类的对象成员,例如:
CDialog1 m_Dialog1;
CDialog2 m_Dialog2;
(4)在主窗口类的OnInitDialog()函数中添加:
// 创建标签页
TCITEM tabItem;
tabItem.mask = TCIF_TEXT;
tabItem.pszText = "通道配置";
m_ctrlTab.InsertItem(0, &tabItem);
tabItem.pszText = "端口配置";
m_ctrlTab.InsertItem(1, &tabItem);
// 创建标签页子窗口
m_Dialog1.Create(IDD_DIALOG1, &m_ctrlTab);
m_Dialog2.Create(IDD_DIALOG2, &m_ctrlTab);
// 窗口布局
CRect tabRect;
m_ctrlTab.GetClientRect(&tabRect);
tabRect.left += 5;
tabRect.right -= 5;
tabRect.top += 25;
tabRect.bottom -= 10;
m_Dialog1.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_SHOWWINDOW);
m_Dialog2.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);
(5)为主窗口中的Tab控件添加一个TCN_SELCHANGE消息的相应函数,在该函数内实现标签页的切换效果:
void CFdcDlg::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult)
{
CRect tabRect;
m_ctrlTab.GetClientRect(&tabRect);
tabRect.left += 5;
tabRect.right -= 5;
tabRect.top += 25;
tabRect.bottom -= 10;
switch (m_ctrlTab.GetCurSel())
{
case 0:
m_Dialog1.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_SHOWWINDOW);
m_Dialog2.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);
break;
case 1:
m_Dialog1.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);
m_Dialog2.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_SHOWWINDOW);
break;
}
}
相关文章推荐
- MFC Tab控件使用方法
- MFC中Tab控件的使用方法
- MFC使用Tab Control(选项卡控件)方法
- MFC中的TAB控件的使用方法案例
- MFC中Tab控件的使用方法
- MFC控件:listctrl使用方法总结
- C++ MFC Tab Control控件的详细使用
- MFC:Tab Control 控件的使用
- MFC tab控件的使用 使用起来真的很麻烦
- MFC Tab控件的使用
- MFC学习之四:tab control控件的使用
- 在VS2010里MFC对话框中使用OpenGL绘图,添加的控件不显示的一种解决方法
- MFC中Tab Control 控件的使用
- MFC中List Control控件的使用及实时显示系统时间的方法
- mfc combo box 控件使用方法
- mfc combo box 控件使用方法总结
- MFC中进度条控件的使用方法
- MFC:Tab Control 控件的使用
- ASP.NET AJAX Tookit TabContainer 控件使用常见错误及解决方法
- MFC-为子窗体/子窗口的静态控件的特定位置/区域 增加提示/tips信息 使用自绘方法