王朝百科
分享
 
 
 

MFC

王朝百科·作者佚名  2009-10-24  
宽屏版  字体: |||超大  

MFC 微软基础类MFC,微软基础类(Microsoft Foundation Classes),同VCL类似,是一种Application Framework,随微软Visual C++ 开发工具发布。目前最新版本为9.0(截止2008年11月)。该类库提供一组通用的可重用的类库供开发人员使用。大部分类均从CObject 直接或间接派生,只有少部分类例外。

MFC 应用程序的总体结构通常由开发人员从MFC类派生的几个类和一个CWinApp类对象(应用程序对象)组成。MFC 提供了MFC AppWizard 自动生成框架。

Windows 应用程序中,MFC 的主包含文件为"Afxwin.h"。

此外MFC的部分类为MFC/ATL 通用,可以在Win32 应用程序中单独包含并使用这些类。

由于它的易用性,初学者常误认为VC++开发必须使用MFC。这种想法是错误的。作为Application Framework,MFC的使用只能提高某些情况下的开发效率,只起到辅助作用,而不能替代整个Win32 程序设计。

MFC,微软基础类(Microsoft Foundation Classes),实际上是微软提供的,用于在C++环境下编写应用程序的一个框架和引擎,VC++是WinDOS下开发人员使用的专业C++ SDK(SDK,Standard SoftWare Develop Kit,专业软件开发平台),MFC就是挂在它之上的一个辅助软件开发包,MFC作为与VC++血肉相连的部分(注意C++和VC++的区别:C++是一种程序设计语言,是一种大家都承认的软件编制的通用规范,而VC++只是一个编译器,或者说是一种编译器+源程序编辑器的IDE,WS,PlatForm,这跟Pascal和Delphi的关系一个道理,Pascal是Delphi的语言基础,Delphi使用Pascal规范来进行Win下应用程序的开发和编译,却不同于Basic语言和VB的关系,Basic语言在VB开发出来被应用的年代已经成了Basic语言的新规范,VB新加的Basic语言要素,如面向对象程序设计的要素,是一种性质上的飞跃,使VB既是一个IDE,又成长成一个新的程序设计语言),MFC同BC++集成的VCL一样是一个非外挂式的软件包,类库,只不过MFC类是微软为VC++专配的..

MFC是WinAPI与C++的结合,API,即微软提供的WinDOS下应用程序的编程语言接口,是一种软件编程的规范,但不是一种程序开发语言本身,可以允许用户使用各种各样的第三方(如我是一方,微软是一方,Borland就是第三方)的编程语言来进行对WinDOS下应用程序的开发,使这些被开发出来的应用程序能在WinDOS下运行,比如VB,VC++,Java,Dehpi编程语言函数本质上全部源于API,因此用它们开发出来的应用程序都能工作在WinOS的消息机制和绘图里,遵守WinDOS作为一个操作系统的内部实现,这其实也是一种必要,微软如果不提供API,这个世上对Win编程的工作就不会存在,微软的产品就会迅速从时尚变成垃圾,上面说到MFC是微软对API函数的专用C++封装,这种结合一方面让用户使用微软的专业C++ SDK来进行Win下应用程序的开发变得容易,因为MFC是对API的封装,微软做了大量的工作,隐藏了好多程序开发人员在Win下用C++ & MFC编制软件时的大量内节,如应用程序实现消息的处理,设备环境绘图,这种结合是以方便为目的的,必定要付出一定代价(这是微软的一向作风),因此就造成了MFC对类封装中的一定程度的的冗余和迂回,但这是可以接受的..

最后要明白MFC不只是一个功能单纯的界面开发系统,它提供的类绝大部分用来进行界面开发,关联一个窗口的动作,但它提供的类中有好多类不与一个窗口关联,即类的作用不是一个界面类,不实现对一个窗口对象的控制(如创建,销毁),而是一些在WinDOS(用MFC编写的程序绝大部分都在WinDOS中运行)中实现内部处理的类,如数据库的管理类等,学习中最应花费时间的是消息和设备环境,对C++和MFC的学习中最难的部分是指针,C++面向对像程序设计的其它部分,如数据类型,流程控制都不难,建议学习数据结构C++版。

MFC是微软封装了的API。什么意思呢?windows作为一个提供功能强大的应用程序接口编程的操作系统,的确方便了许多程序员,传统的win32开发(直接使用windows的接口函数API)对于程序员来说非常的困难,因为,API函数实在太多了,而且名称很乱,从零构架一个窗口动辄就是上百行的代码。MFC是面向对象程序设计与Application framework的完美结合,他将传统的API进行了分类封装,并且为你创建了程序的一般框架,

MFC是对WindowsAPI的封装,大大简化了我们的工作;学VC主要就是要学MFC,大约有100多个类,但常用的也就二三十个。应该象背4级单词一样将这些常用类搞懂;当然不要死记,要通过看帮助、看例子、动手练习来学会它们;而且,并非每个类的内部的所有函数都要学会,要日积月累。如果真的想成为高手,做个笔记本把自己认为重要的类、函数记下来,随时学习,也是很好的突击方法。

下面介绍最重要的MFC。

CWnd:窗口,它是大多数“看得见的东西”的父类(Windows里几乎所有看得见的东西都是一个窗口,大窗口里有许多小窗口),比如视图CView、框架窗口CFrameWnd、工具条CToolBar、对话框CDialog、按钮CButton,etc;一个例外是菜单(CMenu)不是从窗口派生的。该类很大,一开始也不必学,知道就行了。

CDocument文档,负责内存数据与磁盘的交互。最重要的是OnOpenDocument(读入),OnSaveDocument(写盘),Serialize(读写)

CView视图,负责内存数据与用户的交互。包括数据的显示、用户操作的响应(如菜单的选取、鼠标的响应)。最重要的是OnDraw(重画窗口),通常用CWnd::Invalidate()来启动它。另外,它通过消息映射表处理菜单、工具条、快捷键和其他用户消息。你自己的许多功能都要加在里面,你打交道最多的就是它。

CDC设备文本。无论是显示器还是打印机,都是画图给用户看。这图就抽象为CDC。CDC与其他GDI(图形设备接口)一起,完成文字和图形、图像的显示工作。把CDC想象成一张纸,每个窗口都有一个CDC相联系,负责画窗口。CDC有个常用子类CClientDC(窗口客户区),画图通常通过CClientDC完成。

CDialog对话框

CWinApp应用程序类。似于C中的main函数,是程序执行的入口和管理者,负责程序建立、消灭,主窗口和文档模板的建立。最常用函数InitInstance():初始化。

CGdiObject及子类,用于向设备文本画图。它们都需要在使用前选进DC。

CPen笔,画线

CBrush刷子,填充

CFont字体,控制文字输出的字体

CBitmap位图

CPalette调色板

CRgn区域,指定一块区域可以用于做特殊处理。

CFile文件。最重要的不外是Open(打开),Read(读入),Write(写)

CString字符串。封装了C中的字符数组,非常实用。

CPoint点,就是(x,y)对

CRect矩形,就是(left,top,right,bottom)

CSize大小,就是(cx,cy)对(宽、高)MFC是在1992年的Microsoft 16位版的C/C++编译器的7.0版本中作为一个扩展轻量级的Windows API面向对象的C++封装库而引入的。此时,C++因为它在和API方面的卓越表现,刚刚开始被用来取代C应用于开发商用软件。因此,他们推出了替代早期的老式的字符界面的集成开发环境(IDE)的PWB。

有趣的是,MFC使用“Afx”作为所有的全局函数的前缀,“afx”作为全局变量的前缀。因为在MFC的早期开发阶段它叫“Application Framework Extensions”缩写为“AFX”。AFX提供了对Windows API的高度抽象,建立了全新的面向对象的AFX API,但它对于新手来说太复杂了,所以AFX小组不得不重新开始。后来他们创建了一组C++类,这就是MFC。MFC这个名字被采用得太晚了以至于没来得及修改这些引用。

最近,MFC8.0和Visual Studio 2005一起发布了;MFC9.0和Visual Studio 2008一起发布。在免费的Express版本的Visual Studio 2005/2008中没有包含MFC。

作为一个强有力的竞争对手,为Borland的Turbo C++编译器设计OWL(Object Windows Library)在同一时间也发布了。但最后,Borland停止了对OWL的继续开发并且不久就从Microsoft那里购买了MFC头文件,动态链接库等的授权,微软没有提供完整的MFC的集成支持。之后Borland发布了VCL(Visual Component Library)来替换OWL框架。

版本更新

新产品版本 MFC版本

Microsoft C/C++ 7.0 MFC 1.0

Visual C++ 1.0 MFC 2.0

Visual C++ 1.5 MFC 2.5

Visual C++ 2.0 MFC 3.0

Visual C++ 2.1 MFC 3.1

Visual C++ 2.2 MFC 3.2

Visual C++ 4.0 MFC 4.0 (mfc40.dll included with Windows 95)

Visual C++ 4.1 MFC 4.1

Visual C++ 4.2 MFC 4.2 (mfc42.dll included with the Windows 98 original release)

eMbedded Visual C++ 3.0 MFC 4.2 (mfc42.dll)

Visual C++ 5.0 MFC 4.21 (mfc42.dll)

Visual C++ 6.0 MFC 6.0 (mfc42.dll)

eMbedded Visual C++ 4.0 none

Visual C++ .NET 2002 MFC 7.0 (mfc70.dll)

Visual C++ .NET 2003 MFC 7.1 (mfc71.dll)

Visual C++ 2005 MFC 8.0 (mfc80.dll)

Visual C++ 2008 MFC 9.0.21022 (mfc90.dll)

Visual C++ 2008 with Feature Pack MFC 9.0.30411 (mfc90.dll)

MFC 质量流量控制MFC为Mass Flow Controller的缩写,即质量流量控制。流体在旋转的管内流动时会对管壁产生一个力,它是科里奥利在1832年研究水轮机时发现的,简称科氏力。质量流量计以科氏力为基础,在传感器内部有两根平行的T型振管,中部装有驱动线圈,两端装有拾振线圈,变送器提供的激励电压加到驱动线圈上时,振动管作往复周期振动,工业过程的流体介质流经传感器的振动管,就会在振管上产生科氏力效应,使两根振管扭转振动,安装在振管两端的拾振线圈将产生相位不同的两组信号,这两个信号差与流经传感器的流体质量流量成比例关系。计算机解算出流经振管的质量流量。不同的介质流经传感器时,振管的主振频率不同,据此解算出介质密度。安装在传感器器振管上的铂电阻可间接测量介质的温度。

质量流量计直接测量通过流量计的介质的质量流量,还可测量介质的密度及间接测量介质的温度。由于变送器是以单片机为核心的智能仪表,因此可根据上述三个基本量而导出十几种参数供用户使用。质量流量计组态灵活,功能强大,性能价格比高,是新一代流量仪表。

测量管道内质量流量的流量测量仪表。在被测流体处于压力、温度等参数变化很大的条件下,若仅测量体积流量,则会因为流体密度的变化带来很大的测量误差。在容积式和差压式流量计中,被测流体的密度可能变化30%,这会使流量产生30~40%的误差。随着自动化水平的提高,许多生产过程都对流量测量提出了新的要求。化学反应过程是受原料的质量(而不是体积)控制的。蒸气、空气流的加热、冷却效应也是与质量流量成比例的。产品质量的严格控制、精确的成本核算、飞机和导弹的燃料量控制,也都需要精确的质量流量测量。因此质量流量计是一种重要的流量测量仪表。

质量流量计可分为两类:一类是直接式,即直接输出质量流量;另一类为间接式或推导式,如应用超声流量计和密度计组合,对它们的输出再进行乘法运算以得出质量流量。

直接式质量流量计 直接式质量流量计有多种类型,如量热式、角动量式、陀螺式和双叶轮式等。

(1) 主要参数:

质量流量精度: ±0.002×流量±零点漂移

密度测量精度: ±0.003g/cm3

密度测量范围: 0.5~1.5g/cm3

温度测量范围: ±1°C

(2) 传感器相关数据:

环境温度: -40~60°C

介质温度: -50~200°C

防爆类型: iBⅡBT3

关联设备: 配套变送器

(3) 变送器相关数据:

工作温度: 0~60°C

相对湿度: 95%以下

电 源: 220±10%VAC,50Hz或24±5%VDC,40W

MFC三聚氰胺贴面板三聚氰胺环保板,一种以刨花板为基材,表面经“三聚氰胺”(MELAMINE)专业加工处理,具耐磨,抗刻划,耐高温,易清洁,耐酸碱等优点的复合型饰板,英文简称为MFC(三聚氰胺贴面板)。MFC广泛被采用为板式家具,办公家具及厨房家具的主要用材。

MFCMulti Format Codec的缩写,是ARM微处理器内部一种支持多种硬件编码方式的硬件电路,能够编码/解码 MPEG-4/H.263/H.264(30fps)等多种格式的多媒体影像。

Moncton Flight CollegeMoncton Flight College 缩写为 MFC

蒙顿飞行学院是 加拿大最古老的飞行学院之一 从1929年开始,蒙顿飞行学院就致力于为航空业培养专业及高素质的飞行员。

蒙顿飞行学院位于加拿大 New Brunswick 省 Moncton市 机场第四停机坪旁边

地址Moncton Flight College 1719 Champlain St. Dieppe, NB Canada, E1A 7P5

从1929年起开始以蒙顿航空俱乐部培训飞行员,曾改名为 蒙顿飞行俱乐部,蒙顿飞行中心,最后于1997年 引进两年制的学位课程,成为了蒙顿飞行学院。

蒙顿飞行学院是中国培养飞行员的主要航校之一

2006年北京航空航天大学飞行学院开始往蒙顿飞行学院送飞行学员,毕业后于南方航空公司签订就业合同。

2007年蒙顿飞行学院在New Brunswick 省 省会城市Fredericton 成立了分校 陆续有深航,川航,东航,国航,北航,厦航等公司送学院前往学习。

2008年5月 厦门航空公司送出加拿大蒙顿第一批飞行学员。

蒙顿飞行学院主要的培训机型是 DA20 Diamond Eclipse 两座单发螺旋桨飞机17架 CESSNA 172 5架 PA-44 Piper Seminole 双发3架 Kingair c-90 一架

这里的培训周期平均是14个月 从10到22个月不等

蒙顿飞行学院对中国学员的课程安排主要是

PPL 私人飞行员执照

Night Rating 夜航等级

CPL 商业飞行员执照

Multi Rating 双发等级

IFR 仪表飞行等级

ATPL 航线飞行员执照

MFC 麦肯基(快餐)在广东某些地区很流行的一种中式快餐,其风格类似于麦当劳、肯德基。

MFC在物业中的应用(1)物业管理信息应包括:

小区资料(小区名称,楼宇总数等),房型资料(房型编号、房型、建筑面积等),住户资料(住户编号、住户姓名、联系电话、联系地址、预付金额、欠费金额等),住户报修管理,住户投诉管理,住户停车车位管理(车位编号,住户信息等),住户物业收费管理(收费名称、收费金额、收费单位、收费周期等)等。

(2)需要实现的功能

1) 用户需要输入口令进入物业管理系统

2) 实现物业管理信息的建立

3) 计算小区的房型种类,查询住户的欠费状况

4) 显示住户投诉报表

5) 按照欠费金额进行排序,显示用户相关信息

6) 查找住户的车位信息

7) 将小区的所有相关信息内容存为文件。

(3)界面友好,输入信息符合逻辑如收费周期应至少以月为单位

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有