VS2010/MFC之加法计算器(四)添加属性页

2025-10-24 02:19:38

1、创建属性页对话框资源

在“Resource View”的Dialog”节点上点右键,然后在右键菜单中选择“Insert Dialog”创建三个对话框模板,分别对应被加数,加数,和。

删除对话框里面的“OK”和“Cancel”按钮。

VS2010/MFC之加法计算器(四)添加属性页

2、被加数,加数,和框的ID设置为IDD_SUMMAND_PAGE 、 IDD_ADDEND_PAGE 、 IDD_ADD_PAGE ,对应Caption为“被加数页”“加数”“计算页”。

Style属性在下拉列表中都选择“Child”,Border属性在下拉列表中都选择“Thin”。

VS2010/MFC之加法计算器(四)添加属性页

3、在IDD_SUMMAND_PAGE对话框模板上点右键,在右键菜单中选择“Add Class”,弹出类向导对话框,在“Class name”编辑框中输入类名“CSummandPage”,与之前不同的是,因为属性页类都应继承于CPropertyPage类,所以要修改下面“Base class”的选项,在下拉列表中选择“CPropertyPage”。

VS2010/MFC之加法计算器(四)添加属性页

VS2010/MFC之加法计算器(四)添加属性页

4、在“Class View”中找到“CSummandPage”节点,然后VS2010右侧面板上的属性列表,属性列表的工具栏上有个tip信息为“Overrides”的按钮,按下它,找到“OnSetActive”,点其右侧空白列表项出现向下箭头,再“<Add>OnSetActive”

VS2010/MFC之加法计算器(四)添加属性页

VS2010/MFC之加法计算器(四)添加属性页

5、在OnSetActive函数体中添加如下代码实现添加“下一步”按钮的效果

// 获得父窗口,即属性表CPropertySheet类

CPropertySheet* psheet = (CPropertySheet*) GetParent();

// 设置属性表只有“下一步”按钮

psheet->SetWizardButtons(PSWIZB_NEXT);

return CPropertyPage::OnSetActive();

VS2010/MFC之加法计算器(四)添加属性页

6、CAddendPage框的属性页不需要重载OnSetActive函数。CAddPage需要重载OnSetActive函数设置“完成”按钮。重载后的OnSetActive代码如下:

// 获得父窗口,即属性表CPropertySheet类

CPropertySheet* psheet = (CPropertySheet*) GetParent();

//设置属性表只有“完成”按钮

psheet->SetFinishText(_T("完成"));

return CPropertyPage::OnSetActive();

VS2010/MFC之加法计算器(四)添加属性页

1、在Solution Explorer视图中的根节点“Addition”上点右键,在右键菜单中选择Add->Class,弹出“Add Class”对话框,然后在中间区域中选择“MFC Class”,点“Add”按钮,弹出另一个类向导对话框,设置Class name为CAddSheet,Base class选择“CPropertySheet”,点“Finish”

VS2010/MFC之加法计算器(四)添加属性页

VS2010/MFC之加法计算器(四)添加属性页

VS2010/MFC之加法计算器(四)添加属性页

2、在新生成的AddSheet.h中包含三个属性页类的头文件:

#include "SummandPage.h"

#include "AddendPage.h"

#include "AddPage.h"

3、在AddSheet.h中添加private变量:

CSummandPage m_summandPage;

CAddendPage m_addendPage;

CAddPage m_addPage;

VS2010/MFC之加法计算器(四)添加属性页

4、在AddSheet.cpp文件中修改CAddSheet的两个构造函数为:

CAddSheet::CAddSheet(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)

:CPropertySheet(nIDCaption, pParentWnd, iSelectPage)

{

// 添加三个属性页到属性表

AddPage(&m_summandPage);

AddPage(&m_addendPage);

AddPage(&m_addPage);

}

VS2010/MFC之加法计算器(四)添加属性页

5、CAddSheet::CAddSheet(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)

49

:CPropertySheet(pszCaption, pParentWnd, iSelectPage)

{

// 添加三个属性页到属性表

AddPage(&m_summandPage);

AddPage(&m_addendPage);

AddPage(&m_addPage);

}

VS2010/MFC之加法计算器(四)添加属性页

1、在加法计算器对话框上添加一个按钮,点击它就打开向导对话框。此按钮的ID设为IDC_INSTRUCT_BUTTON,Caption属性设为“使用说明”。

VS2010/MFC之加法计算器(四)添加属性页

2、双击进入,在AdditionDlg.cpp文件中包含CAddSheet的头文件:#include "AddSheet.h"

VS2010/MFC之加法计算器(四)添加属性页

3、修改OnBnClickedInstructButton函数如下:

C++代码

void CAdditionDlg::OnBnClickedInstructButton()

{

// TODO: Add your control notification handler code here

// 创建属性表对象

CAddSheet sheet(_T(""));

// 设置属性对话框为向导对话框

sheet.SetWizardMode();

// 打开模态向导对话框

sheet.DoModal();

}

VS2010/MFC之加法计算器(四)添加属性页

4、最后运行

VS2010/MFC之加法计算器(四)添加属性页

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢