设为首页 加入收藏

TOP

对话方块(三十九)
2010-12-30 21:13:56 来源: 作者: 【 】 浏览:40890
Tags:对话 方块
ogProc) ;

区别是CreateDialog函式立即传回对话方块的视窗代号,并通常将这个视窗代号存放到整体变数中。

尽管将DialogBox这一名字用於模态对话方块而CreateDialog用於非模态对话方块是随意的,但是您可以通过非模态对话方块与普通视窗类似这一点来记住这两个函式的区别。CreateDialog可以令人想起CreateWindow函式来,而後者建立的是普通视窗。

模态对话方块与非模态对话方块的区别
 

使用非模态对话方块与使用模态对话方块相似,但是也有一些重要的区别:

首先,非模态对话方块通常包含一个标题列和一个系统功能表按钮。当您在Developer Studio中建立对话方块时,这些是内定选项。用於非模态对话方块的对话方块模板中的STYLE叙述形如:

标题列和系统功能表允许使用者,使用滑鼠或者键盘将非模态对话方块移动到另一个显示区域。对於模态对话方块,您通常无须提供标题列和系统功能表,因为使用者不能在其下面的视窗中做任何其他的事情。

第二项重要的区别是:注意,在我们的范例STYLE叙述中包含有WS_VISIBLE样式。在 Developer Studio 中,从「 Dialog Properties 」对话方块的「 More Styles 」页面标签中选择此选项。如果省略了WS_VISIBLE,那么您必须在CreateDialog呼叫之後呼叫ShowWindow:

如果您既没有包含WS_VISIBLE样式,又没有呼叫ShowWindow,那么非模态对话方块将不会被显示。如果忽略这个事实,那么习惯於模态对话方块的程式写作者在第一次试图建立非模态对话方块时,经常会出现问题。

第三项区别:与模态对话方块和讯息方块的讯息不同,非模态对话方块的讯息要经过程序式的讯息伫列。要将这些讯息传送给对话方块视窗讯息处理程式,则必须改变讯息伫列。方法如下:当您使用CreateDialog建立非模态对话方块时,应该将从呼叫中传回的对话方块代号储存在一个整体变数(如hD

首页 上一页 36 37 38 39 40 41 42 下一页 尾页 39/82/82
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇剪贴簿 下一篇功能表及其他资源

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: