VS2013中,为MFC程序创建属性表单

来源:互联网 发布:2017色情软件app 编辑:程序博客网 时间:2024/04/29 08:36

本文是读者在学习孙鑫的《VC++深入详解》时,对一些在VS2012与VC6.0不同地方,需要修改的代码进行整理得到的。
步骤一:新建一个对话框。
步骤二:新建三个属性页对话框资源(IDD_PROPPAGE_LARGE)。并对新建的三个属性页对话框生成三个类,基类为CPropertyPage。
步骤三:插入一个新的类,用于创建属性表单,基类为CPropertySheet。
步骤四:在属性表单的构造函数中调用AddPage,将属性页加入到属性表单中。先在属性表单类头文件中定义三个属性页的对象,代码如下:
class CPropSheet : public CPropertySheet
{
......
protected:
DECLARE_MESSAGE_MAP()
public:
CPropSheet(UINT nIDCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0);
CPropSheet(LPCTSTR pszCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0);
        CProp1 m_prop1;
        CProp2 m_prop2;
        CProp3 m_prop3;
}
并在属性表单头文件中加入三个属性页对话框的头文件,如果在(类视图)属性表单类上点右键,然后加入变量,变量的类型改为(创建属性页的类)属性页头文件自动到表单头文件中。
然后在属性表单的构造函数中增加着三个属性页对象,代码如下:
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);
}
步骤五:属性表单的显示。
如要在点击菜单栏是显示,代码如下:
void CPropView::OnPropertysheet()
{
  // TODO: Add your command handler code here
CPropSheet propSheet(_T("我的属性对话框"));
propSheet.DoModal ();
}

0 0