1 函数简介
函数声明如下:
int AfxMessageBox(
LPCTSTR lpszText,
UINT nType = MB_OK,
UINT nIDHelp = 0
);
int AFXAPI AfxMessageBox(
UINT nIDPrompt,
UINT nType = MB_OK,
UINT nIDHelp = (UINT
) -1
);
1.1 参数
lpszText
将显示在消息框的字符串。
nType
消息框的样式。有以下几类:
MB_ABORTRETRYIGNORE
The message box contains three pushbuttons: Abort, Retry, and Ignore.MB_OK
The message box contains one pushbutton: OK.MB_OKCANCEL
The message box contains two pushbuttons: OK and Cancel.MB_RETRYCANCEL
The message box contains two pushbuttons: Retry and Cancel.MB_YESNO
The message box contains two pushbuttons: Yes and No.MB_YESNOCANCEL
The message box contains three pushbuttons: Yes, No, and Cancel.
nIDHelp
一般没用。帮助的ID;若是0,将使用应用程序的默认帮助上下文。
nIDPrompt
指向String Table中的字符串的唯一 ID。
1.2 返回值
如果没有足够的内存显示消息框,则返回0;否则,返回下列值之一:
IDABORT
用户点击了“中止”按钮。IDCANCEL
用户点击了“取消”按钮IDIGNORE
用户点击了“忽略”按钮IDNO
用户点击了“不”按钮IDOK
用户点击了“确定”按钮IDRETRY
用户点击了“重试”按钮IDYES
用户点击了“是”按钮
如果消息框有 " 取消 " 按钮,按下ESC
键也将返回IDCANCEL
。如果消息框没有 " 取消 " 按钮,按 ESC 键不起作用。
2 常见用法
2.1 用法一:显示特定的文本内容
AfxMessageBox("Hello World");//缺省nType和nIDHelp参数
2.2 用法二:显示需要用户选择“是”“否”的对话框
int nRet = AfxMessageBox("Hello World", MB_YESNO);//缺省nIDHelp参数
可以根据nRet的值判定用户点击了哪个按键。下面两个用法也同理。
2.3 用法三:显示需要用户选择“确定”“取消”的对话框
int nRet = AfxMessageBox("Hello World", MB_YESNO);//缺省nIDHelp参数
2.4 用法四:显示需要用户选择“是”“否”“取消”的对话框
int nRet = AfxMessageBox("Hello World", MB_YESNOCANCEL);//缺省nIDHelp参数