选择特殊符号

选择搜索类型

热门搜索

首页 > 百科 > 建设工程百科

mfc关键技术

mfc关键技术

MFC程序的初始化过程

建立一个MFC窗口很容易,只用两步:一是从CWinApp派生一个应用程序类(这里是MyApp),,然后建立应用程序对象(theApp),就可以产生一个自己需要的窗口(即需要什么样就在InitInstance()里创建就行了)。

运行时类型识别(RTTI)

运行时类型识别(RTTI)即是程序执行过程中知道某个对象属于某个类,我们平时用C++编程接触的RTTI一般是编译器的RTTI,即是在新版本的VC++编译器里面选用"使能RTTI",然后载入typeinfo.h文件,就可以使用一个叫typeid()的运算子,它的地位与在C++编程中的sizeof()运算子类似的地方(包含一个头文件,然后就有一个熟悉好用的函数)。typeid()关键的地方是可以接受两个类型的参数:一个是类名称,一个是对象指针。

动态创建

动态创建就是运行时创建指定类的对象,在MFC中大量使用。如框架窗口对象、视对象,还有文档对象都需要由文档模板类对象来动态的创建。我觉得这是每个MFC的学习者很希望理解的问题。

初次接触MFC的时候,很容易有这样的迷惘。MFC的几大类不用我们设计也就罢了,但最疑惑的是不用我们实例化对象。本来最直观的理解就是,我们需要框架的时候,亲手写上CFrameWnd myFrame;需要视的时候,亲自打上CView myView;……但MFC不给我们这个机会,致使我们错觉窗口没有实例化就弹出来了!就象画了张电视机的电路图就可以看电视一样令人难以置信。但大伙想了一下,可能会一拍脑门,认为简单不过:MFC自动帮我们完成CView myView之流的代码不就行了么!!!其实不然,写MFC程序的时候,我们几乎要对每个大类进行派生改写。换句话说,MFC并不知道我们打算怎样去改写这些类,当然也不打算全部为我们"静态"创建这些类了。即使静态了创建这些类也没有用,因为我们从来也不会直接利用这些类的实例干什么事情。我们只知道,想做什么事情就往各大类里塞,不管什么变量、方法照塞,塞完之后,我们似乎并未实例化对象,程序就可以运行.

永久保存

MFC的连续存储(serialize)机制俗称串行化。"在你的程序中尽管有着各种各样的数据,serialize机制会像流水一样按顺序存储到单一的文件中,而又能按顺序地取出,变成各种不同的对象数据。"不知我在说上面这一句话的时候,大家有什么反应,可能很多朋友直觉是一件很简单的事情,只是说了一个"爽"字就没有下文了。

消息映射

消息映射与命令传递体现了MFC与SDK的不同。在SDK编程中,没有消息映射的概念,它有明确的回调函数中,通过一个switch语句去判断收到了何种消息,然后对这个消息进行处理。所以,在SDK编程中,会发送消息和在回调函数中处理消息就差不多可以写SDK程序了。

在MFC中,看上去发送消息和处理消息比SDK更简单、直接,但可惜不直观。举个简单的例子,如果我们想自定义一个消息,SDK是非常简单直观的,用一条语句:SendMessage(hwnd,message/*一个大于或等于WM_USER的数字*/,wparam,lparam),之后就可以在回调函数中处理了。但MFC就不同了,因为你通常不直接去改写窗口的回调函数,所以只能亦步亦趋对照原来的MFC代码,把消息放到恰当的地方。这确实是一样很痛苦的劳动。

消息传递

有了消息映射表之后,我们得讨论到问题的关键,那就是消息发生以后,其对应的响应函数如何被调用。大家知道,所有的MFC窗口,都有一个同样的窗口过程--AfxWndProc(…)。在这里顺便要提一下的是,看过MFC源代码的朋友都知道,从AfxWndProc函数进去,会遇到一大堆曲折与迷团,因为对于这个庞大的消息映射机制,MFC要做的事情很多,如优化消息,增强兼容性等,这一大量的工作,有些甚至用汇编语言来完成,对此,我们很难深究它。所以我们要省略大量代码,理性地分析它。

查看详情

mfc关键技术造价信息

  • 市场价
  • 信息价
  • 询价

收费技术

  • 接口板、空气开关、避雷器、布线架、机柜等
  • 13%
  • 深圳市金溢科技股份有限公司
  • 2022-12-06
查看价格

收费技术

  • 接口板、空气开关、避雷器、布线架、机柜等
  • 13%
  • 广州滕浩电子科技有限公司
  • 2022-12-06
查看价格

全光谱筒灯(罗化独家技术让自然光在家里点亮)

  • 功率:7W/9W/12W
  • 罗化光源
  • 13%
  • 深圳市罗化光源有限公司
  • 2022-12-06
查看价格

开门请按此

  • 1.2mm玫瑰金板蚀刻 4×8cm
  • 13%
  • 广州市柏诗锐广告有限公司
  • 2022-12-06
查看价格

收费技术

  • 接口板、空气开关、避雷器、布线架、机柜等
  • 13%
  • 广州滕浩电子科技有限公司
  • 2022-12-06
查看价格

技术工日

  • 工日
  • 深圳市2022年11月信息价
  • 建筑工程
查看价格

技术工日

  • 工日
  • 深圳市2022年10月信息价
  • 建筑工程
查看价格

技术工日

  • 工日
  • 深圳市2022年6月信息价
  • 建筑工程
查看价格

技术工日

  • 工日
  • 深圳市2022年5月信息价
  • 建筑工程
查看价格

技术工日

  • 工日
  • 深圳市2022年3月信息价
  • 建筑工程
查看价格

兄弟MFC-7340

  • 兄弟2115(原装)
  • 1个
  • 3
  • 中档
  • 中档
  • 含税费 | 含运费
  • 2017-06-12
查看价格

MFC培养基

  • 028950250g/瓶
  • 54瓶
  • 3
  • 广东环凯微生物科技有限公司
  • 中档
  • 含税费 | 含运费
  • 2021-10-13
查看价格

MFC培养基

  • 14068-47-N100个/盒
  • 6盒
  • 3
  • Sartorius赛多利斯
  • 中档
  • 含税费 | 含运费
  • 2021-10-13
查看价格

兄弟MFC-7340

  • 兄弟2115粉盒(原装)
  • 1个
  • 1
  • 中高档
  • 含税费 | 含运费
  • 2018-07-05
查看价格

关键业务存储

  • .2. ★投标品牌(非OEM原厂)入选Gartner主存储魔力四象限领导者象限,提供2020年Gartner魔力四象限截图3. ▲允许8个控制器失效7个,业务不中断;允许2个引擎中任意1个失效,业务不中
  • 2台
  • 1
  • 华为Dorado 18500 V6
  • 中高档
  • 含税费 | 含运费
  • 2022-03-28
查看价格

mfc特点

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

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

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

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

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

查看详情

mfc重要MFC

CWnd:窗口,它是大多数"看得见的东西"的父类(Windows里几乎所有看得见的东西都是一个窗口,大窗口里有许多小窗口),比如视图CView、框架窗口CFrameWnd、工具条CToolBar(现为CMFCToolBar)、对话框CDialog、按钮CButton等等;一个例外是菜单(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关键技术常见问题

查看详情

mfcMFC相关

有趣的是,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。

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

查看详情

mfc版本更新

新产品版本 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.dllincluded with Windows 95)

Visual C++ 4.1 MFC 4.1

Visual C++ 4.2 MFC 4.2 (mfc42.dllincluded 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)

Visual C++ 2010 MFC 10.0 (mfc100.dll)

查看详情

mfcMFC扩展DLL

每个DLL都有某种类型的接口:变量、指针、函数、客户程序访问的类。它们的作用是让客户程序使用DLL,MFC扩展DLL可以有C++的接口。也就是它可以导出C++类给客户端。导出的函数可以使用C++/MFC数据类型做参数或返回值,导出一个类时客户端能创建类对象或者派生这个类。同时,在DLL中也可以使用DLL和MFC 。

Visual C++使用的MFC类库也是保存在一个DLL中,MFC扩展DLL动态连接到MFC代码库的DLL,客户程序也必须要动态连接到MFC代码库的DLL。(这里谈到的两个DLL,一个是我们自己编写的DLL,一个装MFC类库的DLL)现在MFC代码库的DLL也存在多个版本,客户程序和扩展DLL都必须使用相同版本的MFC代码DLL。所以为了让MFC扩展DLL能很好的工作,扩展DLL和客户程序都必须动态连接到MFC代码库DLL。而这个DLL必须在客户程序运行的计算机上。

查看详情

mfc编程优势

随着编程语言的推陈出新,MFC一些缺点日益突出。最重要的就是入门门槛相对其他语言要高,而且同样完成一个任务代码量相对较多。而原有的优势如运行速度快等,也因为其他编程语言的日臻完善和个人电脑的运算速度增加而显得不那么突出。MFC似乎江河日下。

但是MFC真的没有任何优势了吗?不是,面对底层程序,它能很轻松的与Windows API或驱动程序结合,就是在自己的代码中直接使用API函数,而API和驱动程序的资料都是以C语言为基础的,这使得VC程序员能够更轻松的使用Windows API。这样造成了一个很有意思的现象,即入门时VC程序员要付出更多的努力来学习,但是一旦掌握后,开发其他领域的程序或使用第三方软件时,如工业控制类的程序,由于底层的程序都是用C语言编写,反倒是VC程序员能够更快的掌握该领域的编程技术。而很多其他的编程语言甚至找不到相关的资料。这就说明VC(MFC)实际上是一种入门困难,但是扩展学习却很轻松的语言框架。如果局限于某一领域的话VC毫无优势可言,但是如果开发一个新的领域的应用程序或者该程序涉及多个应用领域的话,可减少重复学习的频率和难度,VC(MFC)的优势会立刻显现出来。

查看详情

mfc相关书籍

(1)侯俊杰, 《深入浅出MFC》

(2)Ivor Horton著 李颂华 康会光 译《Visual C++ 2005 入门经典》

(3)Charles Petzold 《windows程序设计》

查看详情

mfc关键技术文献

顶管施工关键技术 顶管施工关键技术

顶管施工关键技术

格式:pdf

大小:25KB

页数: 11页

1.工程概况 百色市新兴路位于老城区,交通繁忙,地下管线复杂。新兴 路改造工程 }126fl0双排排水涵位于 K} + 5}i3---lC1 + 328路段,总长约 88o m;最大埋深 12 m,最小埋深 8 m;该涵采用并排布置的两条 DN}soo} 级钢承口钢筋混凝土管, 两条涵管中心距离为 5. 72 m,管外壁间距为 } m;管内径 2.}rri,管壁厚 Q, 2fi m,管底纵坡 1. 02 0/o;按照设计图纸分 4个顶程,平均每段顶进长度约 22} me管道沿线地下水丰富、 地层主 要为淤泥质粉质粘土、沙质粉土、细 砂、卵石、砂岩和泥岩等。 2.施工工艺流程 合理、先进的施工工艺是保证施工质量的前提条件。泥水平衡式 顶管施工工艺流程如图 1所示。图生顶管施工工艺流程图 3.顶力的确定与调控 顶力是整个顶管施工的重要技术参数。 影响顶力大小的因素有顶进工具管迎面的阻力和摩阻

盾构进出洞施工关键技术 盾构进出洞施工关键技术

盾构进出洞施工关键技术

格式:pdf

大小:25KB

页数: 1页

盾构由盾壳、推进机构、取土机构、拼装或现浇衬砌机构以及盾尾等部分组成。一般适用于土质变化少的较单一的地层,可分为普通盾构和特殊盾构。而盾构进出洞是盾构法建造隧道的关键工序,该工序施工技术的优劣将直接影响到建成后隧道或管道的轴线质量、进出洞口处环境保护的成效及工程施工的成败。因此,必须采取有效的措施,加强对于盾构进出洞施工关键技术要点的掌控。基于此,本文就盾构进出洞施工关键技术进行探究,期盼提供给相关行业一些参考建议。

mfc解释

记发器信令 由一个交换局的记发器发出,由另一个交换局的记发器接收。 它的功能是控制电路的自动接续。为了保证有较快的传送速度和有一定的抗干扰能力,记发器信号采用“多频互控”方式。 因此叫做“多频互控信令”。

“多频”是指多频编码信号,即由多个频率组成的编码信号。它的频率取在通话频带范围,即300——3400HZ。前向(高频段)信号按“六中取二”编码,最多有十五种组合;后向(低频段)信号按“四中取二”编码,最多有六种组合。

前向信号频率为: 1380Hz、 1500Hz、 1620Hz、1740Hz、1860Hz、1980Hz

后向信号频率为:1140Hz、1020Hz、900Hz、780Hz。

”互控”是指信号发送过程中必须在收到对端来的证实信号以后才停发信号。也就是说,每一个信号的发送和接收都有一个互控的过程。每个互控过程分为四个节拍:

第一拍: 去话记发器发送前向信号;

第二拍: 来话记发器接收和识别前向信号后,发后向信号;

第三拍: 去话记发器接收和识别后向信号后,停发前向信号;

第四拍: 来话记发器识别前向信号停发以后停发后向信号。

当去话记发器识别后向信号停发以后,根据收到的后向信号要求,发送下一位前向信号,开始下一个互控过程。

查看详情

mfc拼写

多频互控 Multiple Frequency Control

多频互控信号 Multi-Frequency Compelled Signal

查看详情

兄弟MFC-79OCW规格参数

兄弟MFC-79OCW

主体
品牌兄弟 Brother
型号MFC-79OCW
类型彩色喷墨
多功能打印 扫描 复印 传真
打印幅面A4 幅面
打印功能
分辨率最高优化分辨率 1200×6000dpi
打印速度黑白/彩色 33/27ppm
其它功能打印机驱动程序 Windows?2000专业版 / XP/ XP专业版×64版本/ VistaTM MacOS?×10.2.4或更高版本 满幅打印 满幅打印适用于 A4/LTR/A6/ 相片纸 / 索引卡片 / 明信片 色彩增强 brother 色彩增强功能可以让您自定义彩色输出 最小墨滴大小 1.5PL(使用brother BP61GL系列相片纸)
扫描功能
扫描类型黑白扫描最快3.44 秒,彩色扫描最快 4.83 秒
扫描分辨率1200×2400dpi (光学) 19200×19200dpi (内插值)
扫描速度黑白扫描最快3.44 秒,彩色扫描最快 4.83 秒 ( A4 尺寸, 100×100dpi )
其他功能扫描键 允许用户扫描到电子邮件、OCR(仅适用于Windows?)、介质(仅USB存储设备)、图像或文件
复印功能
复印分辨率最高 600×1200dpi (彩色) 1200×1200dpi (黑白)
复印速度黑白/彩色 22/20ppm
复印比例25 %- 400 % (最小调整量为1%)
最大复印页数最多 99 页
其它功能N 合 1 复印 将 2 页或 4 页内容缩小复印到 1 页上 海报复印 将图像放大并复印到3×3张A4大小的页面上 歪斜/阴影校正 有 水印复印 有
传真功能
调制解调器速度33.6kbps
其它功能速拨号 100个地址x2个号码 组拨号 6个组 来电显示 FSK/DTMF PC-FAX 接收和发送 内存发送/无纸接收 最多400页 多址发送 同一份传真最多发送给250个号码 双向访问 接收传真时可同时扫描要发送的传真(仅黑白传真) 话筒 标配
规格
接口USB 标配高速USB2.0接口 介质卡驱动器 有关可接受的介质卡类型, 参见以下 "可接受的介质类型" PictBridge*** 参见以下"直接相片打印" 标配网络接口 内置10/100Base-TX网络接口,IEEE802.11b/g无线网络
尺寸460 (长)× 375 (宽)× 180 (高)毫米
重量8.5 千克
特性
特性液晶显示 中/英文4.2英寸触摸式彩色液晶显示 内存容量 48MB 内存 可接受纸张尺寸 A4, LTR, LGL, EXE, JISB5, A5, A6, 相片纸(10×15厘米), 索引卡片, 相片纸2L(13x18厘米), 明信片, 信封 介质类型 普通纸, 喷墨专用纸, 相片纸, 透明胶片 纸盒容量 标配进纸盒容量:多达100页 出纸托架承载容量:多达 50 页 自动进稿器 多达15页
查看详情

相关推荐

立即注册
免费服务热线: 400-888-9639