MFC中MessageBox函数用法详解

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zer1123/article/details/75143945

MessagBox的函数原型

int MessageBox(LPCTSTR lpszText, LPCTSTR lpszCaption = NULL, UINT nType = MB_OK)

  •  参数lpText是消息对话框中显示的内容
  • 参数lpCaption是对话框的标题
  • 参数uType,指定对话框按钮,图标

系统默认图标,可在消息框上显示 

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++2013 的兼容问题 

error C2664: “CWnd::MessageBoxW”: 不能将参数1 从“const char [3]”转换为“LPCTSTR” 

error C2664: “inet_addr”: 不能将参数 1 从“_TCHAR *”转换为“const char *” d:\vc program\clienttcp\clienttcp\clienttcp.cpp 29 

原因:2013默认的"使用 Unicode 字符集",解决:在你建立的解决方案的工程文件的属性看到选"配置属性"的"字符集"请选择"使用多字节字符集"就可以了。 2013打开6.0的文件时候不会出现的这样的错误,是因为编译环境在转换过程中进行了转换

展开阅读全文

没有更多推荐了,返回首页