TabCtrl和PropertySheet的使用

 

篇部分内容信息来自网络及孙鑫教程,恕不详述。

 

TabCtrl和PropertySheet都是MFC实现 选项卡页面 的类,区别在于前者非模态,后者模态。

 

TabCtrl的使用 

 

I .建立一个MFC的Dialog,然后在ResoucreView界面的工具箱里面把TabCtrl控件放到对话框中的合适位置上。 右键点开其ClassWizard,给其关联一个CTabCtrl变量,如m_tab。

 

注:如果不使用ClassWizard的话也可以手动添加控件TabCtrl和类成员变量(或类外变量)CTabCtrl m_tab,为使其能与Dialog中的TabCtrll控件交互,要在Dialog的DoDataExchange中加入DDX_Control(pDX,IDC_TAB1, m_tab);
 
II.再在ResourceView中添加两个新的Dialog,用来当做TabCtrl控件的两个子页面,注意将它们Style改为Child(不然会出问题,可以试试看),Border改为None。
使用ClassWizard为这两个对话框建立两个类,比如CPage1和CPage2,相应地在要使用它们的Dialog源文件中,声明这两个对话框对象的头文件(ClassWizard会自动在Dialog的头文件中包含Page1.h和Page2.h),同时增加一个变量int m_CurSelTab,用以表明是哪个Page即将被切换,最后再定义个CDialog* pDialog[2]用于方便操作子页面的显示。
这样一来要使用到的变量有:
CTabCtrl m_tab;
int m_CurSelTab;
CPage1 m_page1;
CPage2 m_page2;
CDialog* pDialog[2];

III.在Dialog的Init函数中添加下面的代码。
IV.在ClassWizard中为IDC_TAB1添加SELCHANGE消息处理函数,于其中添加下面的代码。
 
更多数目子页面的TabCtrl可以仿此过程构造。

 

 
PropertySheet的使用

 

I.建立一个MFC的Dialog,在ResoucreView界面右键点击树型菜单,插入...,新建2个Dialog子项中的IDD_PROPPAGE_XXX(大中小视需求而定),并为其建立对应的新类,如CProp1和CProp2,注间它们的BaseClass选CPropertyPage,如果还是选的CDialog的话,虽然初始化时可以用(CPropertyPage*)骗过编译器,但运行不了。
 
II.用ClassWizard新建一个基于CPropertySheet的新类,比如CPropSheet,在这个类中分别新建CProp1和CProp2的对象如m_prop1、m_prop2,并在类的第二个构造函数CPropSheet::CPropSheet(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)中初始化两个子页面CProp1和CProp2。
 
III.在要使用PropertySheet的地方使用Menu或Button,在响应函数中新建CPropSheet实例并赋名,如m_propsheet;,最后生成模态对话框将完整的PropertySheet显示出来。
更多数目子页面的PropertySheet可以仿此过程构造。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值