设为首页 加入收藏

TOP

对话方块(十)
2010-12-30 21:13:56 】 浏览:57574
Tags:对话 方块
讯息,而是在特殊的WM_INITDIALOG讯息处理期间,对话方块程序执行初始化操作。
 

WM_INITDIALOG讯息是对话方块接收到的第一个讯息,这个讯息只发送给对话方块程序。如果对话方块程序传回TRUE,那么Windows将输入焦点设定给对话方块中第一个具有WS_TABSTOP样式(我们将在ABOUT2的讨论中加以解释)的子视窗控制项。在这个对话方块中,第一个具有WS_TABSTOP样式的子视窗控制项是按键。另外,对话方块程序也可以在处理WM_INITDIALOG时使用SetFocus来将输入焦点设定为对话方块中的某个子视窗控制项,然後传回FALSE。

此外,对话方块程序只处理WM_COMMAND讯息。这是当按键被滑鼠点中,或者在按钮具有输入焦点的情况下按下空白键时,按键控制项发送给其父视窗的讯息。这个控制项的ID(我们在对话方块模板中将其设定为IDOK)在wParam的低字组中。对於这个讯息,对话方块程序呼叫EndDialog,它告诉Windows清除对话方块。对於所有其他讯息,对话方块程序传回FALSE,并告诉Windows内部的对话方块视窗讯息处理程式:我们的对话方块程序不处理这些讯息。

模态对话方块的讯息不通过您程式的讯息伫列,所以不必担心对话方块中键盘加速键的影响。

启动对话方块
 

在WndProc中处理WM_CREATE讯息时,ABOUT1取得程式的执行实体代号并将它放在静态变数中:

ABOUT1检查WM_COMMAND讯息,以确保讯息wParam的低位元字等於IDM_APP_ABOUT。当它获得这样一个讯息时,程式呼叫DialogBox:

该函式需要执行实体代号(在处理WM_CREATE时储存的)、对话方块名称(在资源描述档中定义的)、对话方块的父视窗(也是程式的主视窗)和对话方块程序的位址。如果您使用一个数字而不是对话方块模板名称,那么可以用MAKEINTRESOURCE巨集将它转换为一个字串。

从功能表中选择「About About1」,将显示图11-2所示的对话方块。您可以使用滑鼠单击「OK」按钮、按空白键或者按

首页 上一页 7 8 9 10 11 12 13 下一页 尾页 10/82/82
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇剪贴簿 下一篇功能表及其他资源

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目