鱼C论坛

 找回密码
 立即注册

DialogBox

已有 590 次阅读2013-7-11 17:41 |个人分类:Windows 编程

DialogBox是一个Windows API函数。它的作用是从一个对话框资源中创建一个模态对话框。该函数直到指定的回调函数通过调用EndDialog函数中止模态的对话框才能返回控制。该函数通过调用DialogBoxParam函数来实现。[1]
编辑本段语法
int DialogBox(
HINSTANCEhInstance,
LPCTSTRlpTemplate,
HWNDhWndParent,
DLGPROCIpDialogFunc
);[1]
编辑本段参数
hlnstance
标识一个模块的事例该模块的可执行文件含有对话框模板。
IpTemplate
标识对话框模板。此参数可以是指向一个以NULL结尾的字符串的指针,该字符串指定对话框模板名,或是指定对话框模板的资源标识符中的一个整型值。如果此参数指定了一个资源标识符则它的高位字一定为零,且低位字一定含有标识符。一定用MAKEINTRESOURCE宏指令创建此值。
hWndParent
指定拥有对话框的窗口。
IpDialogFunc
指向对话框过程的指针。有关更详细的关于对话框过程的信息,请参见DialogProc。[1]
编辑本段返回值
如果函数调用成功,则返回值为在对函数EndDialog的调用中的nResult参数.该函数用于中止对话框。如果函数调用失败,则返回值为-1。若想获得更多的错误信息,请调用GetLastError函数。[1]
编辑本段备注
DialogBox宏用CreateWindowEx函数创建对话框。DialogBox函数然后把一个WM_INITDIALOG消息(和一个WM-SETFONT消息,如果模板指定DS_SETFONT类型)传递到对话框过程。不管模板是否指定WS_VISIBLE类型,函数显示对话框,并且使拥有该对话框的窗口(也称属主窗口)失效,且为对话框启动它本身的消息循环来检索和传递消息。[1]
当对话框应用程序调用EndDialog函数时,DialogBox函数清除对话框户止消息循环,使属主窗口生效(如果以前有效),且返回函数EndDialog调用中的nReSUlt参数。
Windows 95和以后版本:系统可支持每个对话框模板中最多255个控制。为把大于255个的控制放入对话框,需要在WM_INITDIALOG消息处理器中创建控制,而不是把他们放入模板中。
编辑本段需求
Windows CE:lpTemplateName参数指向的对话框模板中DLGTEMPLATE结构并不支持所有的类型。
DLL最低版本
user32.dll[1]
头文件
在Winuser.h中声明,包含于Windows.h。[1]
库文件
User32.lib[1]
操作系统最低版本
Windows 95, Windows NT 3.1
Unicode
以ANSI和Unicode版本实现。
参考资料

路过

鸡蛋

鲜花

握手

雷人

全部作者的其他最新日志

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 09:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部