MFC多标签页对话框
原文链接(有修改):http://blog.sina.com.cn/s/blog_6a1cdb3f0101llcw.html
1.新建一个MFC工程
取名PageSheet,选择Dialog based,然后Finish。
2.在对话框资源中插入两个对话框IDD_DIALOG1、IDD_DIALOG2,作为两个子页。
3.为这两个对话框增加两个类,分别为CPage1和CPage2,其基类选择CPropertyPage。
4.增加一个属性页类CMySheet, 其基类选择CPropertySheet。
5.在类CMySheet中增加两个成员变量m_page1,类型为CPage1,m_page2,类型为CPage2。
如:
public:CPage1 m_page1;CPage2 m_page2;
6.在类CMySheet的构造函数中添加如下两句,增加两个页。
如:
CMySheet::CMySheet()
{AddPage(&m_page1);AddPage(&m_page2);
}
ps:CMySheet类原先的两个带参构造函数,可以删除,改成以上所示无参构造函数。
7.在类CPageSheetApp的初始化函数InitInstance()中,将原来声明的对象去掉。改为属性页类对象声明。
如:
//CPageSheetDlg dlg;CMySheet dlg;
8.添加头文件。
①“PageSheet.cpp”文件中添加头文件“MySheet.h”
②“MySheet.h”中添加头文件“CPage1.h”和“CPage2.h”
9.为属性页类添加初始化函数。
如:
BOOL CMySheet::OnInitDialog()
{//属性页对话框初始化BOOL bResult =CPropertySheet::OnInitDialog();//设置窗口标题SetWindowText("Page Sheet");//去除多余的控件(确定、取消、应用、帮助)CWnd *pWnd = GetDlgItem(IDOK);pWnd->ShowWindow(SW_HIDE);pWnd = GetDlgItem(ID_APPLY_NOW);pWnd->ShowWindow(SW_HIDE);pWnd = GetDlgItem(IDHELP);pWnd->ShowWindow(SW_HIDE);pWnd = GetDlgItem(IDCANCEL);pWnd->ShowWindow(SW_HIDE);RECT rc; //调整属性页对话框的大小 GetWindowRect (&rc); MoveWindow(rc.left,rc.top,rc.right-rc.left,rc.bottom-rc.top-30); //调整窗口 return bResult;
}
10.可以将多余的对话框、文件删除。
对话框:程序初始对话框IDD_PAGESHEET_DIALOG
文件:CPageSheetDlg.h ,CPageSheetDlg.cpp
MFC多标签页对话框相关推荐
- 对话框中加入标签页的5种方法
(2008-07-08 15:25 博客搬家拾遗) 标签页是MFC控件里有一点难用的东西,今天看到了一篇相关文章,觉得写得比较系统,而且浅显易懂,特地转来,与大家分享的同时也留备自己以后查用. (以下 ...
- MFC标签页控件的使用
随笔- 11 文章- 0 评论- 3 MFC标签页控件的使用 1.在对话框中添加一个标签页控件,并为此控件关联一个CTabCtrl类变量m_tabctrl. 2.创建若干个对话框资源作为标签页控件 ...
- MFC编程入门之十三(对话框:属性页对话框及相关类的介绍)
前面讲了模态对话框和非模态对话框,本节来将一种特殊的对话框--属性页对话框. 属性页对话框的分类 属性页对话框想必大家并不陌生,XP系统中桌面右键点属性,弹出的就是属性页对话框,它通过标签切换各个页面 ...
- MFC中使用CTabCtrl或CPropertySheet实现标签页
CTabCtrl 1.先建立一个MFC应用程序,然后在资源管理器中新建一对话框,并为它建立对应的类,然后从工具箱里面把Tab Control控件放入该对话框中. 再在对话框类中,声明一个CTabCtr ...
- MFC编程入门之十五(对话框:一般属性页对话框的创建及显示)
属性页对话框包括向导对话框和一般属性页对话框两类,上一节讲了如何创建并显示向导对话框,本节将继续介绍一般属性页对话框的创建和显示. 实际上,一般属性页对话框的创建和显示过程和向导对话框是很类似的.将上 ...
- 鸡啄米vc++2010系列12(属性页对话框)
前面讲了模态对话框和非模态对话框,本节开始鸡啄米讲一种特殊的对话框--属性页对话框.另外,本套教程所讲大部分对VC++各个版本均可适用或者稍作修改即可,但考虑到终究还是基于VS2010版本的,所以将& ...
- easyui打开新的选项卡_Easyui Tabs 标签页/选项卡_EasyUI 插件
通过 $.fn.tabs.defaults 重写默认的 defaults. The tabs display a collection of panel. It shows only one tab ...
- MFC中的模态对话框与非模态对话框
模态对话框创建: MyDialog mydlg; mydlg.DoModal() 当前只能运行此模态对话框,且停止主窗口的运行,直到模态对话框退出,才允许主窗口运行. 模态对话框的关闭顺序: OnCl ...
- ocx控件 postmessage消息会消失_实战经验:如何检测CMFCTabCtrl控件标签页切换事件...
MFC库中经常会使用到的一个控件是Tab标签页控件,这个控件在展现多个平级数据集非常合适. 与控件对应的,是MFC库中的两个类:CMFCTabCtrl和CMFCBaseTabCtrl,其中CMFCTa ...
最新文章
- RabbitMQ 消息确认机制 以及 原理解析
- Hibernate的@Temporal注解处理时间日期类型的映射关系
- ServletContextListener 解析用法
- DataTabel中关于ImpotRow的一点尝试
- 浅谈html的语义化和一些简单优化,html标签语义化
- P6619-[省选联考2020A/B卷]冰火战士【树状数组二分】
- java 迁移数据_Java 10迁移建议
- python排序方法_python内置的排序方法
- ribbon 配置 动态更新_SpringCloud实战三-Ribbon
- 利用Oracle Enterprise Manager Cloud Control 12c创建DataGuard Standby
- Redis入门完整教程:CacheCloud接入应用
- 计算机平面设计培训学费,个旧计算机平面设计学校学费多少
- php获取文件名和后缀名
- 此计算机 未识别的网络,未识别的网络无网络访问解决方法(图文)
- pythonrefprop怎么设置_Refprop调用Excel设置步骤
- 有哪些「神奇」的数据获取方式?
- 根据图片名字获取Drawable对象
- 在双曲空间进行细粒度实体分类
- UCloud优刻得创始人季昕华:深耕云计算,做隐私计算赛道的“奇袭军”
- 周大福向北京体育大学教育基金会捐赠1.2亿元设立“郑家纯冠军培养基金”