创建消息提示对话框:
前者调用的是MFC的底层函数库,后者调用的是最为基本的Win32 API。
MessageBox()的函数原型如下:
int MessageBox(
LPCTSTR lpszText,
LPCTSTR lpszCaption = NULL,
UINT nType = MB_OK
);
参数说明:
lpszText:需要显示的消息字符串。
lpszCaption:消息对话框的标题字符串。默认值为NULL。取值为NULL时使用默认标题。
nType:消息对话框的风格和属性。默认为MB_OK风格,即只有“确定”按钮。 nType的取值可以是下面两个表中任取一个值,也可以是各取一个值的任意组合。即可以指定一个对话框类型,也可以指定一个对话框图标,还可以两者都设定。
如果想要设置nType的值为类型和图标的组合,可以像这样取值:MB_OKCANCEL | MB_ICONQUESTION。按位取或就可以了。
AfxMessageBox()的函数原型为:
int AfxMessageBox(
LPCTSTR lpszText,
UINT nType = MB_OK,
UINT nIDHelp = 0
);
lpszText:同CWnd::MessageBox()函数;
nType:CWnd::MessageBox()函数;
nIDHelp:此消息的帮助的上下文ID。默认值为0,取0时表示要使用应用程序的默认帮助上下文。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL1x2RlZmVXFWc5EjYo5kMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL3ETM3EDNwkDM0IzNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
AfxMessageBox创建举例
NT_PTR nRes;
nRes = AfxMessageBox(_T("您确定要进行加法计算吗?"), MB_OKCANCEL | MB_ICONQUESTION, 0);
MessageBox创建举例
INT_PTR nRes;
nRes = MessageBox(_T("您确定要进行加法计算吗?"), _T("加法计算器"), MB_OKCANCEL | MB_ICONQUESTION);
另外 AfxMessageBox 找不到标识符?
此处解决方法很简单,就是将程序中的AfxMessageBox函数全部替换成为MessageBox函数。
网上常说的在头文件里面加入#include<afxwin.h>或者#include<stdafx.h>(其实两者是一样的,因为stdafx.h也调用了afxwin.h,而afxwin.h里面标识了函数AfxMessageBox)。
打开了AfxMessageBox函数所在的头文件afxwin.h,使用VS平台进行搜索,于是就能看到这个……
另外要注意大小写,afxMessageBox就不行。