vc学习历程(8)--创建属性页

本文介绍了MFC中属性表单的概念及其与普通对话框的区别,详细讲解了如何创建属性页及属性表单,并提供了示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个属性表单由一个或多个属性页组成;

属性页对应的MFC类是CPropertyPage ,CPropertyPage类是从CDialog派生而来的,因此一个属性页窗口其实就是一个对话框窗口,所以可以在插入的资源中,插入属性页;

对话框与属性页的区别:
                                                 对话框资源                                       属性页资源

Style                                        Popup                                                Child

Border                                    Dialog Frame                                  Thin

System menu                      选中                                                   未选中

还有在More Styles中对话框是没有选中Disabled,而属性页是有选中的,这说明在属性页初始显示时是不能使用的,知道了这两种资源之间的区别,你可以在程序中先增加一个普通对话框资源,然后修改其属性,使其符合属性页的要求,然后把它当作属性页来使用;

然后为这个属性页建立一个类,父类为CPropertyPage类;

为了创建一个属性表单,首先需要创建一个CPropertySheet对象,并调用AddPage函数添加每一个属性页,然后调用DoModal函数显示一个摸态属性表单,或者调用Create函数创建一个非摸态属性表单;

代码如下:

CPropSheet::CPropSheet(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
 :CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
{
 AddPage(&m_prop1);
 AddPage(&m_prop2);
 AddPage(&m_prop3);
}

CPropSheet::CPropSheet(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
 :CPropertySheet(pszCaption, pParentWnd, iSelectPage)
{
 AddPage(&m_prop1);
 AddPage(&m_prop2);
 AddPage(&m_prop3);
}

在构造函数中,调用AddPage函数添加属性页;

然后在视图中添加函数,调用属性表单的对象;

void CMy20080808View::OnPropertysheet()
{
 // TODO: Add your command handler code here
 CPropSheet propSheet("属性表单");
 propSheet.DoModal ();
 
}
如果显示的中文字体是乱码,可以通过修改属性页的PROPERTIES (属性)来修改语言和字体;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值