MessageBoxIndirectA 函数 (winuser.h)

创建、显示和操作消息框。 消息框包含应用程序定义的消息文本和标题、任何图标以及预定义的按下按钮的任意组合。

语法

int MessageBoxIndirectA(
  [in] const MSGBOXPARAMSA *lpmbp
);

参数

[in] lpmbp

类型:const LPMSGBOXPARAMS

指向 MSGBOXPARAMS 结构的指针,该结构包含用于显示消息框的信息。

返回值

类型:int

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

如果消息框具有“取消”按钮 ,则如果按下 ESC 键或选中 “取消”按钮,该函数将返回 IDCANCEL 值。 如果消息框没有 “取消”按钮,则按 ESC 不起作用。

如果没有足够的内存创建消息框,则返回值为零。

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

言论

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

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

注意

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

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 winuser.h (包括 Windows.h)
User32.lib
DLL User32.dll
API 集 ext-ms-win-ntuser-dialogbox-l1-1-0(在 Windows 8 中引入)

另请参阅

概念

对话框

MSGBOXPARAMS

MessageBox

MessageBoxEx

参考