扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
protected:
CPropertySheet m_sheet;
CMyPropertyPage1 m_pageMyPage1; //CMyPropertyPage1是自己声明的基于CPropertyPage的类
然后再在OnInitDialog()函数中调用
sheet.AddPage(&m_pageMyPage1);
sheet.DoModal();
显示无模态属性单和显示模态属性单的方法基本相同,主要差别在于不是使用DoModal()函数,而是使用CPropertySheet::Create()函数显示属性单。但是要注意:在负责显示属性单的函数内,检查属性单的HWND成员变量,确定是否已经创建了该属性单,如果还没有创建该属性单,则实例化各页面对象,通过AddPage把他们添加到属性单中,然后再调用Create显示该属性单;如果已经构造了属性单,则调用BringWindowToTop()函数就能很容易的找的袄属性单了,代码如下:
HWND hwnd = g_sheet.GetSafeHwnd();
if (!hwnd)
{
CPropPage1* p1 = new CPropPage1();
CPropPage2* p2 = new CPropPage2();
sheet.AddPage(p1);
sheet.Create();
}
else
{
sheet.BringWindowToTop();
}
当要从内存中清除这些页面是可以重载属性单类的PostNcDestroy()虚函数:
PostNcDestroy()
{
int nPages = GetPageCount();
for (int i = (nPages - 1); i >= 0; i--)
{
CPropertyPage* pPage = GetPage(i);
ASSERT(pPage);
if (pPage)
{
delete pPage;
RemovePage(i);
TRACE("[CMyPropertySheet::OnDestroy] Removing page %ld\n", i);
}
}
CPropertySheet::PostNcDestroy();
}
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1583751
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者