函数功能:
MessageBox 函数用于显示一个模态对话框,其中包含一个系统图标、 一组按钮和一个简短的特定于应用程序消息,如状态或错误的信息。
消息框中返回一个整数值,该值指示用户单击了哪个按钮。
API 函数原型:
注释:_In_ 说明该参数是输入的,_opt_ 说明该参数是可选参数。
int WINAPI MessageBox( _In_opt_ HWND hWnd, _In_opt_ LPCTSTR lpText, _In_opt_ LPCTSTR lpCaption, _In_ UINT uType );
参数解析:
|
参数 |
含义 |
|
hWnd |
1. 该消息框的父窗口句柄 |
|
lpText |
消息框的内容 |
|
lpCaption |
消息框的标题 |
|
uType |
1. 指定一个决定对话框的内容和行为的位标志集 |
uType参数定义解析
|
按钮 |
含义 |
|
MB_OK |
默认值,有一个“确认”按钮在里面 |
|
MB_YESNO |
有“是”和“否”两个按钮在里面 |
|
MB_ABORTRETRYIGNORE |
有“中止”,“重试”和“跳过”三个按钮在里面 |
|
MB_YESNOCANCEL |
有“是”,“否”和“取消”三个按钮在里面 |
|
MB_RETRYCANCEL |
有“重试”和“取消”两个按钮在里面 |
|
MB_OKCANCEL |
有“确定”和“取消”两个按钮在里面 |
|
图标 |
含义 |
|
MB_ICONEXCLAMATION |
一个惊叹号出现在消息框: |
|
MB_ICONWARNING |
一个惊叹号出现在消息框(同上) |
|
MB_ICONINFORMATION |
一个圆圈中小写字母i组成的图标出现在消息框: |
|
MB_ICONASTERISK |
一个圆圈中小写字母i组成的图标出现在消息框(同上) |
|
MB_ICONQUESTION |
一个问题标记图标出现在消息框: |
|
MB_ICONSTOP |
一个停止消息图标出现在消息框: |
|
MB_ICONERROR |
一个停止消息图标出现在消息框(同上) |
|
MB_ICONHAND |
一个停止消息图标出现在消息框(同上) |
|
默认按钮 |
含义 |
|
MB_DEFBUTTON1 |
指定第一个按钮为默认按钮 |
|
MB_DEFBUTTON2 |
指定第二个按钮为默认按钮 |
|
MB_DEFBUTTON3 |
指定第三个按钮为默认按钮 |
|
MB_DEFBUTTON4 |
指定第四个按钮为默认按钮 |
|
消息框形态 |
含义 |
|
MB_APPLMODAL |
1. 在 hWnd 参数标识的窗口中继续工作以前,用户一定响应消息框 |
|
MB_SYSTEMMODAL |
1. 除了消息框有 WB_EX_TOPMOST 类型,否则 MB_APPLMODAL 和 MB_SYSTEMMODAL 一样 |
|
MB_TASKMODAL |
1. 如果参数 hWnd 为 NULL 的话,那么除了所有属于当前线程高层次的窗口失效外,MB_TASKMODAL 和 MB_APPLMODAL 一样 |
|
其他标志 |
含义 |
|
MB_DEFAULT_DESKTOP_ONLY |
1. 接收输入的当前桌面一定是一个默认桌面,否则函数调用失败 |
|
MB_HELP |
1. 把一个 Help 按钮增加到消息框 |
|
MB_RIGHT |
文本为右对齐 |
|
MB_RTLREADING |
用在 Hebrew 和 Arabic 系统中从右到左的顺序显示消息和大写文本 |
|
MB_SETFOREGROUND |
1. 消息框变为前景窗口 |
|
MB_TOPMOST |
消息框用 WS_EX_TOPMOST 窗口类型来创建 MB_SERVICE_NOTIFICATION |
返回值:
|
返回值 |
含义 |
|
IDOK |
用户按下了“确认”按钮 |
|
IDCANCEL |
用户按下了“取消”按钮 |
|
IDABORT |
用户按下了“中止”按钮 |
|
IDRETRY |
用户按下了“重试”按钮 |
|
IDIGNORE |
用户按下了“忽略”按钮 |
|
IDYES |
用户按下了“是”按钮 |
|
IDNO |
用户按下了“否”按钮 |
举例:
#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
MessageBox(NULL, TEXT("这是我学的第一个程序!"), TEXT("打招呼"), MB_OKCANCEL | MB_ICONQUESTION | MB_DEFBUTTON2);
return 0;
}







