MessageBoxExA 函数 (winuser.h)

创建、显示和操作消息框。 消息框包含应用程序定义的消息和标题,以及预定义图标和推送按钮的任意组合。 按钮采用系统用户界面的语言。

目前 MessageBoxExMessageBox 的工作方式相同。

语法

int MessageBoxExA(
  [in, optional] HWND   hWnd,
  [in, optional] LPCSTR lpText,
  [in, optional] LPCSTR lpCaption,
  [in]           UINT   uType,
  [in]           WORD   wLanguageId
);

参数

[in, optional] hWnd

类型:HWND

要创建的消息框的所有者窗口的句柄。 如果此参数 NULL,则消息框没有所有者窗口。

[in, optional] lpText

类型:LPCTSTR

要显示的消息。

[in, optional] lpCaption

类型:LPCTSTR

对话框标题。 如果此参数 NULL,则使用默认标题 错误

[in] uType

类型:UINT

对话框的内容和行为。 有关支持的标志的信息,请参阅 MessageBox

[in] wLanguageId

类型:WORD

消息框按钮中显示的文本的语言。 指定值为零(0)表示要在默认系统语言中显示按钮文本。 如果此参数 MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL),则使用与调用线程关联的当前语言。

若要指定当前语言以外的语言,请使用 MAKELANGID 宏创建此参数。 有关详细信息,请参阅 MAKELANGID

返回值

类型:int

如果消息框具有“取消”按钮 ,则如果按下 ESC 键或选中 “取消”按钮,该函数将返回 IDCANCEL 值。 如果消息框没有 取消 按钮,则按 ESC 将不起作用 - 除非存在MB_OK按钮。 如果显示MB_OK按钮,并且用户按下 ESC,则返回值将 IDOK

如果函数失败,则返回值为零。 若要获取扩展的错误信息,请调用 GetLastError

如果函数成功,则返回值为以下菜单项值之一。

返回代码/值 描述
IDABORT
3
已选择 中止 按钮。
IDCANCEL
2
已选择 “取消”按钮。
IDCONTINUE
11
已选择“继续”按钮
IDIGNORE
5
已选择“忽略”按钮
IDNO
7
已选择 “无”按钮。
IDOK
1
已选择 “确定”按钮。
IDRETRY
4
已选择“重试”按钮。
IDTRYAGAIN
10
已选择“重试” 按钮。
IDYES
6
已选择 “是”按钮。

言论

使用系统模式消息框指示系统内存不足时,lpText 指向的字符串不应从资源文件中获取 lpCaption 参数,因为尝试加载资源可能会失败。

如果在对话框存在时创建消息框,请使用对话框的句柄作为 hWnd 参数。 hWnd 参数不应标识子窗口,例如对话框中的控件。

注意

winuser.h 标头将 MessageBoxEx 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 winuser.h (包括 Windows.h)
User32.lib
DLL User32.dll

另请参阅

概念

对话框

MAKELANGID

MessageBeep

MessageBox

MessageBoxIndirect

其他资源

参考

SetForegroundWindow