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

备注

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

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

注意

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

要求

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

请参阅

概念性

对话框

MSGBOXPARAMS

MessageBox

MessageBoxEx

引用