MFC-CtabCtrl(属性页控件)
2016-03-27 13:47
344 查看
属性页->选项卡->对话框
就是属性页包含多个选项卡,每个选项卡对应一个对话框,如图所示:
1.添加对话框,这里先插入两个对话框,如图所示:
2.把两个对话框的属性修改一下,Style属性设置为Child,Border属性设置为None.然后向对话框添加几个控件作为演示.如图:
3.分别给两个对话框添加类,如图所示:
4.在主对话框头文件里给两个对话框定义变量
//要记得添加头文件
5.给主对话框关联一个控件变量
6.在初始化对话框中创建选项卡和插入选项卡
效果如图:
7.在属性页控件中,右键属性找到TCN_SELCHANGE事件
如图:
每一个选项卡就相当于一个小的基于对话框的MFC程序了,可以在上面自行设置一些功能,添加一些控件.
就是属性页包含多个选项卡,每个选项卡对应一个对话框,如图所示:
1.添加对话框,这里先插入两个对话框,如图所示:
2.把两个对话框的属性修改一下,Style属性设置为Child,Border属性设置为None.然后向对话框添加几个控件作为演示.如图:
3.分别给两个对话框添加类,如图所示:
4.在主对话框头文件里给两个对话框定义变量
//要记得添加头文件
CPage1Dialog m_page1; CPage2Dialog m_page2;
5.给主对话框关联一个控件变量
6.在初始化对话框中创建选项卡和插入选项卡
//插入第2个选项卡(属性页) m_tab.InsertItem(0, TEXT("第一页")); m_tab.InsertItem(1, TEXT("第二页")); //创建两个选项卡 m_page1.Create(MAKEINTRESOURCE(IDD_FIRST_PAGE), &m_tab); m_page2.Create(MAKEINTRESOURCE(IDD_SECOND_PAGE), &m_tab); //设置选项卡的位置 CRect rect = { 0 }; GetClientRect(&rect); rect.top += 22;//把高度调下来一点,否则会遮住切换页 m_page1.MoveWindow(&rect); m_page2.MoveWindow(&rect); //刚开始先显示第一页 m_page1.ShowWindow(SW_SHOW);
效果如图:
7.在属性页控件中,右键属性找到TCN_SELCHANGE事件
void CMFCTESTDlg::OnTcnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult) { // TODO: 在此添加控件通知处理程序代码 *pResult = 0; //切换选项卡 switch (m_tab.GetCurSel()) { case 0: m_page1.ShowWindow(SW_SHOW); m_page2.ShowWindow(SW_HIDE); break; case 1: m_page1.ShowWindow(SW_HIDE); m_page2.ShowWindow(SW_SHOW); break; default: break; } }
如图:
每一个选项卡就相当于一个小的基于对话框的MFC程序了,可以在上面自行设置一些功能,添加一些控件.
相关文章推荐
- c++实验2-标准体重
- hdu4324(拓扑排序)
- 2003
- 手机端滑动插件swiper3.x的使用示例
- arduino 各种类型转为String类型
- 第三周项目5—用递归求解
- 安卓学习笔记之使用设备管理器(Administrator)
- POJ 2236 Wireless Network
- 省市区存储数据
- 正则表达式
- 第五章项目1——(4)三角形类雏形
- Linux内核分析 05
- 《网络攻防技术与实践》第四周学习总结
- Android课程---String、StringBuffer 、StringBuilder 的区别(转)
- 五款适合创业者的工作效率App应用
- 7.Utm示例-SmartFoxServer集成
- 图形界面---显示图像
- JAVA线程同步——消费者和生产者模式
- springMVC 返回类型选择 以及 SpringMVC中model,modelMap.request,session取值顺序
- python操作Excel读写(使用xlrd和xlrt)