您的位置:首页 > 运维架构

MFC CPropertySheet控件

2016-08-05 09:07 281 查看
步骤一:新建一个对话框。

步骤二:新建三个属性页对话框资源(IDD_PROPPAGE_LARGE)。并对新建的三个属性页对话框生成三个类,基类为CPropertyPage。

步骤三:插入一个新的类,用于创建属性表单,基类为CPropertySheet。

步骤四:在属性表单的构造函数中调用AddPage,将属性页加入到属性表单中。先在属性表单中定义三个属性页的对象,代码如下:

class CPropSheet : public CPropertySheet

{

。。。。。。

protected:

                 DECLARE_MESSAGE_MAP()

public:

                 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 ();

}

如果要在初始化时就显示,代码如下:

在BOOL CshuxingDlg::OnInitDialog()中加入如下代码:

        CDialog::EndDialog(1);//加入此句可使不显示其他对话框,只显示属性列表对话框。

        CPropSheet propSheet(_T("我的属性对话框"));

        propSheet.DoModal ();




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: