显示一个包含图标、按钮集、风格等属性的对话框,并且返回用户按下了哪个按钮。
函数原型:
int WINAPI MessageBox ( HWND hWnd, LPTSTR lpText, LPTSTR lpCaption, UINT uType );
参数
hWnd
类型:
HWND拥有者窗口句柄,可以为NULL。非NULL时相对拥有者窗口句柄显示模态对话框。
uType
类型:
UINT对话框显示方式。为以下几种方式的组合。
需要在对话框显示的按钮,以下表中任选其一:
宏名 | 宏值 | 意义 |
MB_ABORTRETRYIGNORE | 0x00000002L | 显示“中止”、“重试”、“忽略”三个按钮。 |
MB_CANCELTRYCONTINUE | 0x00000006L | 显示“取消”、“重试”、“继续”三个按钮。 |
MB_HELP | 0x00004000L | 显示帮助按钮,用户点击后系统发送WM_HELP到拥有者窗口。 |
MB_OK | 0x00000000L | 显示“确定”按钮,默认值。 |
MB_OKCANCEL | 0x00000001L | 显示“确定”、“取消”两个按钮。 |
MB_RETRYCANCEL | 0x00000005L | 显示“重试”、“取消”两个按钮。 |
MB_YESNO | 0x00000004L | 显示“是”、“否”两个按钮。 |
MB_YESNOCANCEL | 0x00000003L | 显示“是”、“否”、“取消”三个按钮。 |
需要在对话框显示的图标,以下表中任选其一:
宏名 | 宏值 | 意义 |
MB_ICONEXCLAMATION | 0x00000030L | 显示“警告”图标。 |
MB_ICONWARNING | 0x00000030L | 显示“警告”图标,同上。 |
MB_ICONINFORMATION | 0x00000040L | 显示“提示”图标。 |
MB_ICONASTERISK | 0x00000040L | 显示“提示”图标,同上。 |
MB_ICONQUESTION | 0x00000020L | 显示“疑问”图标。 |
MB_ICONSTOP | 0x00000010L | 显示“错误”图标。 |
MB_ICONERROR | 0x00000010L | 显示“错误”图标,同上。 |
MB_ICONHAND | 0x00000010L | 显示“错误”图标,同上。 |
图标效果如下:
效果 | 值 |
| MB_ICONHAND 、 MB_ICONSTOP 或 MB_ICONERROR |
| MB_ICONQUESTION |
| MB_ICONEXCLAMATION 或 MB_ICONWARNING |
| MB_ICONASTERISK 或 MB_ICONINFORMATION |
默认按钮,按钮顺序从左到右,以下表中任选其一:
宏名 | 宏值 | 意义 |
MB_DEFBUTTON1 | 0x00000000L | 第一个按钮是默认按钮,默认值。 |
MB_DEFBUTTON2 | 0x00000100L | 第二个按钮是默认按钮。 |
MB_DEFBUTTON3 | 0x00000200L | 第三个按钮是默认按钮。 |
MB_DEFBUTTON4 | 0x00000300L | 第四个按钮是默认按钮。 |
指示对话框的模态属性,以下表中任选其一:
宏名 | 宏值 | 意义 |
MB_APPLMODAL | 0x00000000L | 挂起hWnd指定的窗口,直到对话框退出,默认值。 |
MB_SYSTEMMODAL | 0x00001000L | 挂起所有窗口,直接对话框返回。 |
MB_TASKMODAL | 0x00002000L | 当hWnd为NULL,时挂起本线程所有窗口,直接对话框返回。 |
显示属性,以下值可以多选:
宏名 | 宏值 | 意义 |
MB_DEFAULT_DESKTOP_ONLY | 0x00020000L | 如果当前输入桌面不是默认桌面对话框直到把桌面转换为当前桌面才会返回。 |
MB_RIGHT | 0x00080000L | 文本右对齐。 |
MB_RTLREADING | 0x00100000L | 以右到左方式阅读。 |
MB_SETFOREGROUND | 0x00010000L | 指定对话框窗口作为前景窗口,系统后台会调用SetForegroundWindow。 |
MB_TOPMOST | 0x00040000L | 对话框最前端显示,相当于窗口所有WS_EX_TOPMOST属性。 |
MB_SERVICE_NOTIFICATION | 0x00200000L | 调用者是服务,将在激活桌面显示对话框,无论用户是否登录。 |
返回值
类型:
int
指示用户选择了哪个按钮,可能的值列表如下:
宏名 | 宏值 | 意义 |
IDABORT | 3 | 选中了“中止”按钮 |
IDCANCEL | 2 | 选中了“取消”按钮 |
IDCONTINUE | 11 | 选中了“继续”按钮 |
IDIGNORE | 5 | 选中了“忽略”按钮 |
IDNO | 7 | 选中了“否”按钮 |
IDOK | 1 | 选中了“确定”按钮 |
IDRETRY | 4 | 选中了“重试”按钮 |
IDTRYAGAIN | 10 | 选中了“再试一次”按钮 |
IDYES | 6 | 选中了“重试”按钮 |
备注
支持
最低桌面系统支持 | Windows 2000 Professional |
头文件 | Winuser.h (已包含在Windows.h中) |
库 | User32.lib |
DLL | User32.dll |
UNICODE版本名 | MessageBoxW |
ANSI版本名 | MessageBoxA |