MFC中CPropertyPage的应用
首先还是要创建那些要在属性页中的显示的子对话框类,创建步骤和方案二一样,都是从CPropertyPage继承。
步骤/方法
- 01
我们将从CPropertySheet类继承自己的类(假设类名为CMySheet)。我们要在这里放上一个button控件。那么现在先在CMySheet中加入一个CButton类的成员变量m_button。 在CMySheet类中的OnInitDialog()函数里,这样写: BOOL bResult = CPropertySheet::OnInitDialog(); //取得属性页的大小 CRect rectWnd; GetWindowRect(rectWnd);
- 02
//调整对话框的宽度 SetWindowPos(NULL, 0, 0,rectWnd.Width() + 100,rectWnd.Height(),SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE); CRect rectButton(rectWnd.Width() + 25, 25,rectWnd.Width()+75, 75); //用程序创建一个按钮 m_button.Create("Button", BS_PUSHBUTTON, CRect(rectWnd.Width(), 25,rectWnd.Width()+75, 50) , this, 1);
- 03
//显示这个按钮 m_button.ShowWindow( SW_SHOW ); CenterWindow(); return bResult; 使用方案三虽然能在主对话框中加入控件,但是也比较麻烦,首先所加的控件只能在属性页的右边或下边。并且用程序来产生控件比较烦琐,位置与大小不易控制。那么还有其他方法,既能在对话框中加入属性页,又能在主对话框随意添加控件.