模态属性与非模态属性页呢
2021-09-06 09:56 来源:莱西养生网
在资源器设置了属性页之后,就可以通过ClassWizard创建一个CPropertyPage派生类了,其方式与创建CDialog派生类非常相似,惟一的区别在于不是选择CDialog而是选择CPropertyPage作为基类。为了创建和显示一个模态属性单,通常会在栈上声明一个CPropertySheet对象,并调用其DoModal函数(就像CDialog对象所做的那样)。但是,对于属性页则需要在调用属性单的DoModal函数之前给属性单添加相应的属性页: protected:
CPropertySheet m_sheet;
CMyPropertyPage1 m_pageMyPage1; //CMyPropertyPage1是自己声明的基于CPropertyPage的类
然后再在OnInitDialog()函数中调用
dPage(m_pageMyPage1);
Modal();
经医院两次诊断 显示无模态属性单和显示模态属性单的方法基本相同,主要差别在于不是使用DoModal()函数,而是使用CPropertySheet::Create()函数显示属性单。但是要注意:在负责显示属性单的函数内,检查属性单的HWND成员变量,确定是否已经创建了该属性单,如果还没有创建该属性单,则实例化各页面对象,通过AddPage把他们添加到属性单中,然后再调用Create显示该属性单;如果已经构造了属性单,则调用BringWindowToTop()函数就能很容易的找的袄属性单了,代码如下:
HWND hwnd = g_tSafeHwnd();
if (!hwnd)
{
CPropPage1* p1 = new CPropPage1();
CPropPage2* p2 = new CPropPage2();
dPage(p1);
eate();
}
else
{
ingWindowToTop();
}
当要从内存中清除这些页面是可以重载属性单类的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:
小孩开胃健脾吃什么治疗白癜风病费用
重庆治疗男科哪好
- 上一篇:模式验证结构的特性牛
- 下一篇:模拟的自定义控件的
-
大白熊犬嘴巴红肿肚皮发红是怎么了位置
前天发现豆豆的肚皮和生殖器发红,从昨天晚上开始发现它的嘴巴红肿了,肚皮还是很红,就早上吃了半根火腿肠,不爱出去玩了.今天早上,豆豆的嘴肿的更严重了,甚至有点要流脓的意思了,还是吃了半根火腿肠,睡睡觉就...
-
大白熊犬听不听话训练大白熊犬听话的方法位置
大白熊犬听不听话,狗狗它们也有它们自己的思想和本能,它们不听话也是正常的,对于狗狗不听话很多人都比较头痛,其实狗狗的听话与否跟我们也是有一定的关系的。可以通过训练来让狗狗听你的。下面我们就...
-
大白熊犬吃零食好吗位置
大白熊犬是大型犬,体形优美,很受人们欢迎。大白熊犬的食物好说,可以吃专业狗粮,也可以自己给大白熊做吃的,只要注意一些禁忌类的食物就行,还有一种食物对大白熊犬有很大的诱惑力,那就是零食,到底...
-
大白熊犬召回训练行之有效的方法位置
在狗狗没有被我们驯服之前,它们一直长期生活在大自然中,也不和人类接触,更无法懂得人类的语言。当我们饲养了大白熊犬的时候,它就要和我们长久的生活在一起,也要学会人类世界里的某些规则。大白熊犬...
-
大白熊犬发情不喜欢吃饭怎么办位置
大白熊犬发情这是第一次有10天了。这几天不爱吃食。风舞雪:非常正常,人恋爱的时候也有一种表现叫“食不知味”,何况是大白熊犬;让它远离异性,它平时喜欢的游戏多陪它玩,像扔球什么的;转移它的视线...
-
大白熊犬为什么会有抽搐的现象位置
您好.我家的大白熊犬已经三岁了.最近才来的我家.来我家过程中发现她有抽搐的现象.每十天抽搐一次.一次两天.抽搐时间为30秒钟左右.口吐黏液.抽搐完后异常兴奋.我们小区宠物门诊确诊为癫痫.现在正在打针.吃药...