步骤一:新建一个对话框。
步骤二:新建三个属性页对话框资源(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 ();