一、MFC消息对话框MessageBox()函数和AfxMessageBox()函数
1.CWnd::MessageBox()函数
CWnd::MessageBox()的函数原型如下:
int MessageBox(
LPCTSTR lpszText,
LPCTSTR lpszCaption = NULL,
UINT nType = MB_OK
);
参数说明:
lpszText:需要显示的消息字符串。
lpszCaption:消息对话框的标题字符串。默认值为NULL。取值为NULL时使用默认标题。
nType:消息对话框的风格和属性。默认为MB_OK风格,即只有“确定”按钮。
nType的取值可以是下面两个表中任取一个值,也可以是各取一个值的任意组合。即可以指定一个对话框类型,也可以指定一个对话框图标,还可以两者都设定。
nType 取值 | 参数说明 |
MB_ABORTRETRY | 有“终止”、“重试”和“忽略”按钮 |
MB_OK | 有“确定”按钮 |
MB_OKCANCEL | 有“确定”和“取消”按钮 |
MB_RETRYCANCEL | 有“重试”和“取消”按钮 |
MB_YESNO | 有“是”和“否”按钮 |
MB_YESNOCANCEL | 有“是”、“否”和“取消”按钮 |
对话框类型表
nType 取值 | 显示图标 |
MB_ICONEXCLAMTION | |
MB_ICONASTERISK | |
MB_ICONQUESTION | |
MB_ICONHAND |
对话框图标表
组合方式:如果想要设置nType的值为类型和图标的组合,可以像这样取值:MB_OKCANCEL |MB_ICONQUESTION。按位取或就可以了。
2.AfxMessageBox()函数
AfxMessageBox()的函数原型为:
int AfxMessageBox(
LPCTSTR lpszText,UINT nType = MB_OK, UINT nIDHelp = 0 );
参数说明:
lpszText:同CWnd::MessageBox()函数
nType:CWnd::MessageBox()函数
nIDHelp:此消息的帮助的上下文ID。默认值为0,取0时表示要使用应用程序的默认帮助上下文
二.CWnd::MessageBox()和AfxMessageBox()的返回值
1、返回值的获取:
INT_PTR nRes;
nRes = MessageBox();
if(nRes==ID值)
{
}
2、ID值的类型
IDABORT:单击“终止”按钮。
IDCANCEL:单击“取消”按钮。
IDIGNORE:单击“忽略”按钮。
IDNO:单击“否”按钮。
IDOK:单击“确定”按钮。
IDRETRY:单击“重试”按钮。
IDYES:单击“是”按钮。
3、举例:
1. // TODO: Add your control notification handler code here
2.
3. INT_PTR nRes;
4.
5. // 显示消息对话框
6. nRes = MessageBox(_T("您确定要进行加法计算吗?"), _T("加法计算器"), MB_OKCANCEL | MB_ICONQUESTION);
7. // 判断消息对话框返回值。如果为IDCANCEL就return,否则继续向下执行
8. if (IDCANCEL == nRes)
9. return;