C++中MessageBox()的详细用法

1.MessageBox("这是一个最简单的消息框!");

2.MessageBox("这是一个有标题的消息框!","标题"); 

3.MessageBox("这是一个确定 取消的消息框!","标题", MB_OKCANCEL ); 

4.MessageBox("这是一个警告的消息框!","标题", MB_ICONEXCLAMATION ); 

5.MessageBox("这是一个两种属性的消息框!","标题", MB_ICONEXCLAMATION|MB_OKCANCEL ); 

6.if(MessageBox("一种常用的应用","标题",MB_ICONEXCLAMATION|MB_OKCANCEL)==IDCANCEL)
 return;


附其它常用属性


系统默认图标,可在消息框上显示
X错误 MB_ICONHAND, MB_ICONSTOP, and MB_ICONERROR
?询问 MB_ICONQUESTION
!警告 MB_ICONEXCLAMATION and MB_ICONWARNING
i信息 MB_ICONASTERISK and MB_ICONINFORMATION


按钮的形式
MB_OK  默认
MB_OKCANCEL 确定取消
MB_YESNO 是否
MB_YESNOCANCEL 是否取消


返回值
IDCANCEL 取消被选
IDNO 否被选
IDOK 确定被选
IDYES 是被选


补充:
以上消息框的用法是在CWnd的子类中的应用,如果不是,则要MessageBox(NULL,"ddd","ddd",MB_OK);  或MessageBox(hWnd,"ddd","ddd",MB_OK); hWnd为某窗口的句柄,或者直接用AfxMessageBox。
这里所列出的属性只是一些常用属性,在MSDN中还有更多的属性 


Visual C++2005 的兼容问题 error C2664: “CWnd::MessageBoxW”: 不能将参数1 从“const char [3]”转换为“LPCTSTR” 错误 2 error C2664: “inet_addr”: 不能将参数 1 从“_TCHAR *”转换为“const char *” d:\vc program\clienttcp\clienttcp\clienttcp.cpp 29 原因:2005默认的"使用 Unicode 字符集",解决:在你建立的解决方案的工程文件的属性看到选"配置属性"的"字符集"请选择"使用多字节字符集"就可以了。 2005打开6.0的文件时候不会出现的这样的错误,是因为编译环境在转换过程中进行了转换

原文地址:https://www.cnblogs.com/lidabo/p/2777844.html