捐助郴维网
感谢您对郴维网的支持,你的支持将是郴维网持续发展的动力!
二维码
×
当前位置:郴维网 >API档案 > 正文
26 2017.05

DialogBox

点击次数:1222 更新时间:2017-5-26 9:37:16  【打印此页

函数功能:

DialogBox 函数用于创建一个基于模板资源的模态(模式)对话框。

除非调用 EndDialog 函数终止模态对话框,否则 DialogBox 函数不会交出控制权。

基于模板资源,DialogBox创建了一个模态对话框。DialogBox 函数的返回是由特殊的回调函数控制的,它会调用 EndDialog 函数终止模态对话框。

DialogBox 函数是通过调用 DialogBoxParam 函数来实现的。


API 函数原型:

INT_PTR WINAPI DialogBox(
  _In_opt_ HINSTANCE hInstance,
  _In_     LPCTSTR   lpTemplate,
  _In_opt_ HWND      hWndParent,
  _In_opt_ DLGPROC   lpDialogFunc
);


参数解析:

参数

含义

hInstance

1. 指向包含该对话框实例的模块的句柄
2. 如果参数值为 NULL,则使用当前的可执行文件

lpTemplate

用于指定对话框的模板:1. 如果是字符串,则用于指定对话框的名字;2. 如果是 int 值,则用于指定对话框的模板资源。如果参数是用于指定对话框资源,那它的高字节必须是 0,低字节必须包含标识。通常,你可以使用 MAKEINTRESOURCE 宏来创建这个值

hWndParent

指向该对话框的窗口的句柄

lpDialogFunc

1. 一个指向对话框处理函数的指针
2. 处理函数的相关内容见 DialogProc 函数



返回值:

1. 如果执行成功,则返回值是调用 EndDialog 函数时传给它的参数 nResult ;

2. 如果执行失败,有多种原因:

  • 如果参数 hWndParent 无效,返回 0。这是为了与以前版本的 Windows 兼容
  • 其他原因,返回 -1,更多的错误信息,需要调用 GetLastError 函数。


执行失败一般是因为下列原因:

  • 传入了一个无效的参数;
  • 系统类被其他模块注册;
  • 使用了 WH_CBT 钩子(hook),并且返回了一个失败的代码;
  • 对话框模板中的某个控件未注册,或者对话框的窗口处理函数处理 WM_CREATE 消息或 WM_NCCREATE 消息失败。



备注:

1. DialogBox 宏调用 CreateWindowEx 函数创建对话框后,会发送一个 WM_INITDIALOG 消息(如果模板指定了 DS_SETFONT 或者 DS_SHELLFONT ,也会发送 WM_SETFONT 消息)给对话框的处理函数,然后 CreateWindowEx 函数会显示出对话框(无论模板是否指定了 WM_VISIBLE ),禁止父窗口,开始它自己的消息循环,为该对话框检索、发送消息。

2. 当对话框的处理函数调用了 EndDialog 函数后,DialogBox 会销毁该对话框,结束它的消息循环,激活其父窗口(如果可以被激活的话),返回由对话框处理函数指定的 nResult 参数(它是被传递给 EndDialog 函数的)。


需求:

Minimum supported client

Windows 2000 专业版 [仅桌面应用程序]

Minimum supported server

Windows 2000 服务器版 [仅桌面应用程序]

Header

Winuser.h (包含于 Windows.h)

Library

User32.lib

DLL

User32.dll

Unicode and ANSI names

DialogBoxW (Unicode) 和 DialogBoxA (ANSI)



 

提示
郴维网为您提供各类专业服务:
软件开发,电脑配件销售,WIFI路由器销售,上门电脑维修,上门安装系统,系统安装,软、硬件安装,电脑除尘清灰,显示器维修,WIFI安装调试,服务器维护,数据恢复,密码破解,网络布线,网络检修,打印机维修,打印机加碳粉,苹果电脑安装系统,苹果电脑安装双系统,监控安装维护,电脑外包,笔记本电脑维修,餐饮、美容行业软件安装 等。。。。。。
点击次数:1222 更新时间:2017-5-26 9:37:16  【打印此页

上一条:WaitMessage

下一条:PtInRegion

关键词推荐:郴州电脑城 郴州电脑维修公司 维修电脑公司 郴州软件开发 上门电脑维修 上门安装系统 笔记本电脑维修 郴州打印机维修 打印机加碳粉 电脑安装双系统 苹果电脑双系统 液晶显示器维修 联想笔记本维修 联想笔记本维修电话 戴尔笔记本维修电话 郴州戴尔笔记本维修 戴尔笔记本郴州维修点 华硕笔记本维修点 郴州华硕笔记本维修 郴州笔记本上网维修