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,则使用默认标题 Error

[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
已选择 “是 ”按钮。

注解

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

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

注意

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

要求

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

请参阅

概念性

对话框

MAKELANGID

MessageBeep

MessageBox

MessageBoxIndirect

其他资源

引用

SetForegroundWindow