MessageBox函数定义:

     //__WINUSER_H__中定义:(Win32 API)#define MessageBox  MessageBoxAint WINAPI  MessageBoxA(HWND hWnd ,LPCSTR lpText,LPCSTR lpCaption,UINT uType);//__AFXWIN_H__中定义:(MFC )int MessageBox(LPCTSTR lpszText,LPCTSTR lpszCaption = NULL,UINT nType = MB_OK);

PS:
MFC中MessageBox函数“句柄”参数省略,实际是有句柄的,句柄默认指向Dlg窗体。
如果MessageBox第一个参数省略(省略不是=NULL,是删掉)此时MessageBox采用MFC中的原型,在CWnd类或者子类中使用,需要有窗体支持 。
如果没有窗体(像全局函数、进程)不能使用省略句柄的MessageBox函数,只能使用 Win32 API中的全局函数 ::MessageBox或者AfxMessageBox函数。
所以,::MessageBox和AfxMessageBox在MFC程序中任何地方都可使用,推荐使用AfxMessageBox(省事,给个字符串就行了),::MessageBox(标准,可以改弹窗标题)。

     AfxMessageBox("winsock库的版本不是2.0!");//正确!::MessageBox(NULL," winsock库的版本不是2.0!"," 警告",MB_ICONWARNING);//正确!

以下是具体实例:

       //MFC 初始化函数CSssDlg::OnInitDialog(){//MFC  (参数可变)MessageBox(" Socket库的版本不是2.0!"); //正确!MessageBox(" Transmit_Server winsock库的版本不是2.0!"," 警告");//正确!MessageBox(" Transmit_Server winsock库的版本不是2.0!"," 警告",MB_ICONWARNING);//正确!//MessageBox(NULL," Transmit_Server winsock库的版本不是2.0!"," 警告",MB_ICONWARNING);//Error!AfxMessageBox(" Socket库的版本不是2.0!");//正确!//Win32 API (固定4个参数)::MessageBox(NULL," Transmit_Server winsock库的版本不是2.0!"," 警告",MB_ICONWARNING);//正确!}/*******************************************************///MFC 按钮函数void CSssDlg::OnButton11() {// TODO: Add your control notification handler code here//MFC  (参数可变)MessageBox(" Socket库的版本不是2.0!"); //正确!MessageBox(" Transmit_Server winsock库的版本不是2.0!"," 警告");//正确!MessageBox(" Transmit_Server winsock库的版本不是2.0!"," 警告",MB_ICONWARNING);//正确!//MessageBox(NULL," Transmit_Server winsock库的版本不是2.0!"," 警告",MB_ICONWARNING);//Error!AfxMessageBox(" Socket库的版本不是2.0!");//正确!//Win32 API (固定4个参数)::MessageBox(NULL," Transmit_Server winsock库的版本不是2.0!"," 警告",MB_ICONWARNING);//正确!}
      //Thread线程函数:UINT TCP_Thread(LPVOID  lparam){//MFC  (参数可变)//MessageBox("winsock库的版本不是2.0!"); //Error!//MessageBox("winsock库的版本不是2.0!"," 警告");//Error!//MessageBox("winsock库的版本不是2.0!"," 警告",MB_ICONWARNING);//Error!MessageBox(NULL," winsock库的版本不是2.0!"," 警告",MB_ICONWARNING);//正确!AfxMessageBox("winsock库的版本不是2.0!");//正确!//Win32 API (固定4个参数)::MessageBox(NULL," winsock库的版本不是2.0!"," 警告",MB_ICONWARNING);//正确!}/*********************************************************///全局函数void fun5566(void){//MFC  (参数可变)//MessageBox("winsock库的版本不是2.0!"); //Error!//MessageBox("winsock库的版本不是2.0!"," 警告");//Error!//MessageBox("winsock库的版本不是2.0!"," 警告",MB_ICONWARNING);//Error!MessageBox(NULL," winsock库的版本不是2.0!"," 警告",MB_ICONWARNING);//正确!AfxMessageBox("winsock库的版本不是2.0!");//正确!//Win32 API (固定4个参数)::MessageBox(NULL," winsock库的版本不是2.0!"," 警告",MB_ICONWARNING);//正确!}

MFC中MessageBox和AfxMessageBox函数区别和用法相关推荐

  1. VS中MessageBox与AfxMessageBox用法与区别

    一.MessageBox()用法 1.函数原型 Messagebox函数在Win32 API和MFC里的定义有区别. Win32 API的定义如下: int WINAPI MessageBox(HWN ...

  2. VC中MessageBox与AfxMessageBox用法与区别

    一.MessageBox()用法 1.函数原型 Messagebox函数在Win32 API和MFC里的定义有区别. Win32 API的定义如下: int WINAPI MessageBox(HWN ...

  3. MFC之MessageBox、AfxMessageBox用法

    在软件中我们经常会弹出个小窗口,给一点点提示.这就会用到消息对话框. 在Win32 API程序中只有MessageBox这一种用法. 而在MFC中就有三各方法: 1.调用API中的MessageBox ...

  4. C++中重载与重写函数区别及虚函数(转载)

    C++中重载与重写函数区别及虚函数 C++中的虚函数(virtual function) 1.简介 虚函数是C++中用于实现多态(polymorphism)的机制.核心理念就是通过基类访问派生类定义的 ...

  5. java caller_JavaScript中callee和caller的区别与用法实例分析

    本文实例讲述了JavaScript中callee和caller的区别与用法.分享给大家供大家参考,具体如下: 1.callee 在函数的内部,有两个特殊的对象:arguments和this.其中arg ...

  6. javascript中call和apply的区别和用法

    javascript中call和apply的区别和用法 1.call和apply是什么 更改对象的内部指针指向,即改变对象的this指向的内容 function Fn(){this.name='小明' ...

  7. js中几个对象的区别和用法

    js中几个对象的区别和用法 今天总结一下js中几个对象的区别和用法: 首先来说说 parent.window与top.window的用法 "window.location.href" ...

  8. strcasecmp php,PHP中strcmp()和strcasecmp()函数字符串比较用法分析

    本文实例讲述了PHP中strcmp()和strcasecmp()函数字符串比较用法.分享给大家供大家参考,具体如下: 一.PHP中strcmp()函数用于比较两个字符串(区分大小写),其定义如下: s ...

  9. js中parentNode和parentElement的区别和用法

    了解本篇的基础必须知道什么是节点,关于html dom节点知识点和节点类型的知识,分别看<js节点都有哪些类型?怎么判断是哪种节点类型?>和<js属性节点获取和移除>,下面直接 ...

最新文章

  1. 理解smart pointer之三:unique_ptr
  2. 理解class.forName()
  3. pyqt Qlabel显示opencv 自适应大小
  4. SVN服务器几种备份策略---重点svnsync备份---OK
  5. 针对数据 gnuplot画图 初试
  6. TF之DNN:利用DNN【784→500→10】对MNIST手写数字图片识别数据集(TF自带函数下载)预测(98%)+案例理解DNN过程
  7. wpf 使子ui元素可视区域不超过父元素_对游戏UI设计的一点思考
  8. TCP为什么是四次挥手
  9. JAVA图书管理系统(JDBC,MySQL)
  10. SCAN: Structure Correcting Adversarial Network for Organ Segmentation in Chest X-rays(译)
  11. Linux自学笔记——iptables
  12. Deskreen 将 Web 浏览器变为第二屏幕
  13. 大量用户升级iPhone3.0系统导致苹果服务器故障
  14. Tableau怎么制作专业图表
  15. 简单的学生网页作业源码 基于web在线餐饮网站的设计与实现——蛋糕甜品店铺(html css javascript)
  16. 查询mysql校对集语句_mysql 查询时指定校对规则
  17. Go语言安装和配置SDK
  18. IntelliJ IDEA 设置背景图片
  19. 《杜拉拉升职记3》读书笔记
  20. CSS font-family中文字体对应的英文名称一览表

热门文章

  1. linux关闭内核命令,CentOS 7关闭/开启SELinux内核简单方法
  2. Android Studio常用设置和快捷键分享汇总
  3. GateWay负载均衡
  4. 华为鸿蒙系统是怎么样的一个系统,华为手机是什么系统,鸿蒙操作系统是一个怎样的系统...
  5. mini-ui 中的message弹出框中点击确定与取消之后使用回调函数的方法
  6. Flask+plotly实现数据可视化
  7. SQL增加语句的方法
  8. 物联网工程实训 第5天
  9. ASP.NET验证控件之CustomValidator
  10. 刚做外贸,先做平台好还是独立站好?