设为首页 加入收藏

TOP

对话方块(五十三)
2010-12-30 21:13:56 来源: 作者: 【 】 浏览:40909
Tags:对话 方块
样的档案-包含附加资源定义-需要包含在资源描述中。从「 View 」功能表选择「 Resource Includes 」。这显示一个对话方块。在「Compile-time Directives」编辑栏输入

#include "hexcalc.dlg"

这一行将插入到HEXCALC.RC资源描述中,像上面所显示的一样。

仔细看一下HEXCALC.DLG档案中的对话方块模板,您将发现HEXCALC如何为对话方块使用它自己的视窗讯息处理程式。对话方块模板的上方如下:

HexCalc DIALOG -1, -1, 102, 122
STYLE WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX
CLASS "HexCalc"
CAPTION "Hex Calculator"

注意诸如WS_OVERLAPPED和WS_MINIMIZEBOX等识别字,我们可以将它们用在CreateWindow呼叫中以建立普通的视窗。CLASS叙述是这个对话方块与曾经建立过的对话方块之间最重要的区别(而且它也是Developer Studio中的Dialog Editor不允许我们指定的)。当对话方块模板省略了这个叙述时,Windows为对话方块注册一个视窗类别,并使用它自己的视窗讯息处理程式处理对话方块讯息。这里,包含CLASS叙述就告诉Windows将讯息发送到其他的地方-具体的说,就是发送到在HexCalc视窗类别中指定的视窗讯息处理程式。

HexCalc视窗类别是在HEXCALC的WinMain函式中注册的,就像普通视窗的视窗类别一样。但是,请注意有个十分重要的区别:WNDCLASS结构的cbWndExtra栏位设定为DLGWINDOWEXTRA。对於您自己注册的对话方块程序,这是必需的。

在注册视窗类别之後,WinMain呼叫CreateDialog:

hwnd = CreateDialog (hInstance, szAppName, 0, NULL) ;

第二个参数(字串「HexCaEc」)是对话方块模板的名字。第三个参数通常是父视窗的视窗代号,这里设定为0,因为视窗没有父视窗。最後一个参数,通常是对话方块程序的位址,这里不需要。因为Windows不会处理这些讯息,因而也不会将讯息发送给对话方块程序。

这个C

首页 上一页 50 51 52 53 54 55 56 下一页 尾页 53/82/82
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇剪贴簿 下一篇功能表及其他资源

评论

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