237|0

7

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

MFC框架简介 [复制链接]

本帖最后由 threebb 于 2021-2-1 10:00 编辑

1、MFC 和 Visual C++ 是什么关系?
2、MFC 和 Qt 有什么区别?
3、MFC 和 STL 有什么区别?
4、MFC 只能做界面开发吗?

答案:
1、Visual C++ 是微软的一款使用 C/C++语言进行开发的工具,是一个软件,是一个编译器。使用VC++新建工程的时候,有好多项目类型可以选择,例如,Win32应用程序,Win32控制台,MFC应用程序等等,所以 VC++ 只是一个开发环境,你可以选择使用MFC,也可以选择不使用MFC写你的软件。MFC是微软提供的一套类库,是一个类的集合,统称MFC。

     MFC类库中常用的一部分是对窗口的封装。CWnd,CDialog,CButton等等。我们拿软件上的按钮来说,不使用MFC,直接用 Win32 的 API 函数来创建,我们要用 CreateWindow 函数先创建出来,还要计算按钮的大小,位置等等。但是用MFC,我们想创建一个按钮,直接在工具箱里将按钮拖到界面上,调整位置和大小也就是动动鼠标的事,一句代码不用写就出来了。这也是MFC的优越之处。
   那么,我们一般说的 Windows 程序设计和 MFC 程序是什么关系呢?其实,一般我们说的 Windows程序就是不使用MFC类库里的东西,直接用 API 写的程序,显而易见,我们创建一个按钮就需要写函数,计算位置等等这些过程,要是建一个复杂的界面,肯定要写很多代码。MFC的程序当然就是使用了MFC的程序了。

   MFC 关于窗口这一块的封装,其实就是封装的 Win32 API。像MFC里CWnd这样的窗口类,最后还是调用的 API 函数 CreateWindow,只是微软为了方便开发人员快速的开发软件,帮我们处理了,借助 VC 和 MFC 给我们一个所见即所得环境。

   直接用 Win32 API 编程类似于 C语言的面向过程编程,MFC为了方便我们开发,通过一些封装等手段,使得我们开发的应用程序能以面向对象的方式开发了。

   C++重要的地方在于这种面向对象的思想,MFC又何尝不是C++思想的一个实现?我们用C语言编程,显示一个东西用 printf,在C++里可能用 cout 这些函数还不都是 C或者C++ 的库提供给我们的? 在VC下开发,别管用不用MFC,只要包含了 C 或者 C++ 的头文件,链接了库文件,都是可以使用的。

    虽然 MFC 提供了这么方便的开发方式,但是在方便的同时,MFC隐藏的细节太多,使我们看不清程序后面的机制了,上面说,MFC是对 Win32 API 的封装,所以要想清楚的知道窗口是怎么出来的,又是怎么响应用户的,还是要从 Windows 编程开始。

此帖出自信息发布论坛
点赞 关注
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表