动态创建就是运行时创建指定类的对象,在MFC中大量使用。如框架窗口对象、视对象,还有文档对象都需要由文档模板类对象来动态的创建。我觉得这是每个MFC的学习者很希望理解的问题。
初次接触MFC的时候,很容易有这样的迷惘。MFC的几大类不用我们设计也就罢了,但最疑惑的是不用我们实例化对象。本来最直观的理解就是,我们需要框架的时候,亲手写上CFrameWnd myFrame;需要视的时候,亲自打上CView myView;……但MFC不给我们这个机会,致使我们错觉窗口没有实例化就弹出来了!就象画了张电视机的电路图就可以看电视一样令人难以置信。但大伙想了一下,可能会一拍脑门,认为简单不过:MFC自动帮我们完成CView myView之流的代码不就行了么!!!其实不然,写MFC程序的时候,我们几乎要对每个大类进行派生改写。换句话说,MFC并不知道我们打算怎样去改写这些类,当然也不打算全部为我们“静态”创建这些类了。即使静态了创建这些类也没有用,因为我们从来也不会直接利用这些类的实例干什么事情。我们只知道,想做什么事情就往各大类里塞,不管什么变量、方法照塞,塞完之后,我们似乎并未实例化对象,程序就可以运行. 消息映射与命令传递体现了MFC与SDK的不同。在SDK编程中,没有消息映射的概念,它有明确的回调函数中,通过一个switch语句去判断收到了何种消息,然后对这个消息进行处理。所以,在SDK编程中,会发送消息和在回调函数中处理消息就差不多可以写SDK程序了。
在MFC中,看上去发送消息和处理消息比SDK更简单、直接,但可惜不直观。举个简单的例子,如果我们想自定义一个消息,SDK是非常简单直观的,用一条语句:SendMessage(hwnd,message/*一个大于或等于WM_USER的数字*/,wparam,lparam),之后就可以在回调函数中处理了。但MFC就不同了,因为你通常不直接去改写窗口的回调函数,所以只能亦步亦趋对照原来的MFC代码,把消息放到恰当的地方。这确实是一样很痛苦的劳动。 有了消息映射表之后,我们得讨论到问题的关键,那就是消息发生以后,其对应的响应函数如何被调用。大家知道,所有的MFC窗口,都有一个同样的窗口过程——AfxWndProc(…)。在这里顺便要提一下的是,看过MFC源代码的朋友都知道,从AfxWndProc函数进去,会遇到一大堆曲折与迷团,因为对于这个庞大的消息映射机制,MFC要做的事情很多,如优化消息,增强兼容性等,这一大量的工作,有些甚至用汇编语言来完成,对此,我们很难深究它。所以我们要省略大量代码,理性地分析它。
MFC的关键技术
在MFC中,看上去发送消息和处理消息比SDK更简单、直接,但可惜不直观。举个简单的例子,如果我们想自定义一个消息,SDK是非常简单直观的,用一条语句:SendMessage(hwnd,message\/*一个大于或等于WM_
微生物燃料电池新型产能生物技术
通过深入研究电子传递机制和代谢途径,我们得以理解微生物电动力学的复杂性。阳极电势和细菌种类选择在MFC的运行中起着关键作用。电子从细胞内向电极的转移涉及物理性的穿梭系统,如可溶性或膜结合的电子穿梭体。细菌通过次级代谢物或初级代谢物制造氧化中间体,影响MFC的性能。
【科学材料站】微生物燃料电池专题1:微生物燃料电池-结构及其工作原理...
探索MFC的多样性,MEFC和土壤基MFC等分支技术也在环保领域展现独特性能。MFC的主要组成部分包括生物相容的阳极电极,可能含有铂催化剂的阴极室,以及电子与质子的桥梁——交换膜。在MFC的电路设计中,阳极的碳材料与阴极的催化剂协同工作,电子从阳极出发,通过电路释放出绿色能源。底物,如蛋白质、挥发酸和...
深入浅出MFC(内容简介
第四篇以微软附带的范例程序Scribble为线索,逐步增加功能并深入讲解Runtime Type Information(RTTI)、Dynamic Creation、Persistence(Serialization)、Message Mapping、Command Routing等关键核心技术。这些技术是其他书籍中相对较少涉及的,对于MFC的理解和实践有着重要补充。最后数章,作者脱离Scribble程序,另...
mfc指哪些材料
MFC支持图形渲染和多媒体处理,包括绘图、图像处理、音频和视频处理等相关的类和方法。这些对于开发图形界面丰富、多媒体功能强大的应用程序非常关键。总的来说,MFC所指的“材料”并非物理意义上的材料,而是指开发Windows应用程序所需的一系列软件开发工具和编程技术,包括核心库、用户界面组件、网络数据库...
质量流量控制器用途与特点
质量流量控制器的优势主要体现在其极高的测量精度和出色的重复性上。通过先进的技术,MFC能够准确地监测和控制流体的流量,确保生产过程中的稳定性和一致性。在半导体制造领域,精确的流量控制是确保产品质量和生产效率的关键因素。而在光纤制造、微反应技术等领域,MFC的精准性能极大地提升了产品的性能和可靠...
深入浅出MFC内容简介
第四部分的核心是围绕微软附赠的Scribble范例程序展开。通过逐步添加新功能,深入探讨了Runtime Type Information(RTTI)、Dynamic Creation、Persistence(Serialization)、Message Mapping和Command Routing等关键技术。这些技术通常在其他书籍中被略过,因此这部分内容尤其独特和深入。最后几章,作者从Scribble程序...
MFC六大关键技术之仿真,RTTI中CRuntimeClass CView::classCView={...
这里是调用了一个默认构造函数。 我这有运行出来了的代码。侯捷的书上的有些问题。要的话可以给你看看
深入浅出谈MFC内容简介
最后,核心技术探索部分以微软附赠的范例程序Scribble为基础,逐步添加新功能,涵盖了Runtime Type Information(RTTI)、Dynamic Creation、Persistence(Serialization)、Message Mapping和Command Routing等关键技术。这些内容在其他书籍中往往被忽视,是本书的独特亮点。书中还附有一张光盘,其中包含所有原始代码...
MFC有哪些机制
CWinApp的构造函数(在VC提供的MFC代码中以“文中的一个字或词组”的方式查询关键字,此时打开APPCORE.CPP,以下使用相同搜索方式,不再复述。)找到以下内容:CWinApp::CWinApp(LPCTSTR lpszAppName){ if (lpszAppName != NULL) m_pszAppName = _tcsdup(lpszAppName); else m_pszAppName = NULL; \/\/ initialize ...