MFC中MessageBox和AfxMessageBox函数区别和用法
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函数区别和用法相关推荐
- VS中MessageBox与AfxMessageBox用法与区别
一.MessageBox()用法 1.函数原型 Messagebox函数在Win32 API和MFC里的定义有区别. Win32 API的定义如下: int WINAPI MessageBox(HWN ...
- VC中MessageBox与AfxMessageBox用法与区别
一.MessageBox()用法 1.函数原型 Messagebox函数在Win32 API和MFC里的定义有区别. Win32 API的定义如下: int WINAPI MessageBox(HWN ...
- MFC之MessageBox、AfxMessageBox用法
在软件中我们经常会弹出个小窗口,给一点点提示.这就会用到消息对话框. 在Win32 API程序中只有MessageBox这一种用法. 而在MFC中就有三各方法: 1.调用API中的MessageBox ...
- C++中重载与重写函数区别及虚函数(转载)
C++中重载与重写函数区别及虚函数 C++中的虚函数(virtual function) 1.简介 虚函数是C++中用于实现多态(polymorphism)的机制.核心理念就是通过基类访问派生类定义的 ...
- java caller_JavaScript中callee和caller的区别与用法实例分析
本文实例讲述了JavaScript中callee和caller的区别与用法.分享给大家供大家参考,具体如下: 1.callee 在函数的内部,有两个特殊的对象:arguments和this.其中arg ...
- javascript中call和apply的区别和用法
javascript中call和apply的区别和用法 1.call和apply是什么 更改对象的内部指针指向,即改变对象的this指向的内容 function Fn(){this.name='小明' ...
- js中几个对象的区别和用法
js中几个对象的区别和用法 今天总结一下js中几个对象的区别和用法: 首先来说说 parent.window与top.window的用法 "window.location.href" ...
- strcasecmp php,PHP中strcmp()和strcasecmp()函数字符串比较用法分析
本文实例讲述了PHP中strcmp()和strcasecmp()函数字符串比较用法.分享给大家供大家参考,具体如下: 一.PHP中strcmp()函数用于比较两个字符串(区分大小写),其定义如下: s ...
- js中parentNode和parentElement的区别和用法
了解本篇的基础必须知道什么是节点,关于html dom节点知识点和节点类型的知识,分别看<js节点都有哪些类型?怎么判断是哪种节点类型?>和<js属性节点获取和移除>,下面直接 ...
最新文章
- 理解smart pointer之三:unique_ptr
- 理解class.forName()
- pyqt Qlabel显示opencv 自适应大小
- SVN服务器几种备份策略---重点svnsync备份---OK
- 针对数据 gnuplot画图 初试
- TF之DNN:利用DNN【784→500→10】对MNIST手写数字图片识别数据集(TF自带函数下载)预测(98%)+案例理解DNN过程
- wpf 使子ui元素可视区域不超过父元素_对游戏UI设计的一点思考
- TCP为什么是四次挥手
- JAVA图书管理系统(JDBC,MySQL)
- SCAN: Structure Correcting Adversarial Network for Organ Segmentation in Chest X-rays(译)
- Linux自学笔记——iptables
- Deskreen 将 Web 浏览器变为第二屏幕
- 大量用户升级iPhone3.0系统导致苹果服务器故障
- Tableau怎么制作专业图表
- 简单的学生网页作业源码 基于web在线餐饮网站的设计与实现——蛋糕甜品店铺(html css javascript)
- 查询mysql校对集语句_mysql 查询时指定校对规则
- Go语言安装和配置SDK
- IntelliJ IDEA 设置背景图片
- 《杜拉拉升职记3》读书笔记
- CSS font-family中文字体对应的英文名称一览表