mfc各种类

合集下载

MFC教程(4)

MFC教程(4)

MFC 教程( 4)可是在目前例子中,目前对象的类CTview 没有覆盖该函数,所以CWnd 的 WindowProc被调用。

这个函数把下一步的工作交给OnWndMsg函数来办理。

如果 OnWndMsg 没有办理,则交给 DefWindowProc 来办理。

OnWndMsg和DefWindowProc都是CWnd类的虚构函数。

OnWndMsg的原型以下:BOOL CWnd::OnWndMsg( UINT message,WPARAM wParam, LPARAM lParam,RESULT*pResult );该函数是虚构函数。

和 WindowProc 相同,因为目前对象的类 CTview 没有覆盖该函数,所以 CWnd 的 OnWndMsg 被调用。

在 CWnd 中,MFC 使用 OnWndMsg 来分别办理各种信息:假如是 WM_COMMAND 信息,交给 OnCommand 办理;而后返回。

假如是 WM_NOTIFY 信息,交给 OnNotify 办理;而后返回。

假如是 WM_ACTIVATE 信息,先交给 _AfxHandleActivate办理(后边5.3.3.7 节会解说它的办理),再持续下边的办理。

假如是 WM_SETCURSOR 信息,先交给_AfxHandleSetCursor 办理;而后返回。

假如是其余的Windows信息(包含WM_ACTIVATE),则第一在信息缓冲池进行信息般配,若般配成功,则调用相应的信息办理函数;若不可功,则在信息目标的信息映照数组中进行查找般配,看它能否办理目前信息。

这里,信息目标即CTview 对象。

假如信息目标办理了该信息,则会般配到信息办理函数,调用它进行办理;不然,该信息没有被应用程序办理,OnWndMsg返回FALSE。

对于 Windows信息和信息办理函数的般配,见下一节。

缺省办理函数DefWindowProc将在议论对话框等的实现时详细剖析。

mfc类型转换

mfc类型转换

VC++种类变换整理已有84 次阅读 2009-11-30 16:18标签:种类1、CString to char*经过种类强迫变换,能够将 CString种类变换成 char* ,比如:CString cStr = "Hello,world!";char* zStr = (char*)(LPCTSTR)cStr;2、char* to CStringchar*种类能够直接给CString,达成自动变换,比如:char* zStr = "Hello,world!";CString cStr = zStr;3、CString to LPCSTR将 CString变换成 LPCSTR,需要获取 CString的长度,比如:CString cStr = _T("Hello,world!");int nLen = cStr.GetLength();LPCSTR lpszBuf = cStr.GetBuffer(nLen);4、CString to LPSTR这个和第 3 个技巧是相同的,比如:CString cStr = _T("Hello,world!");int nLen = str.GetLength();LPSTR lpszBuf= str.GetBuffer(nLen);5、Char[] to int 将字符串种类变换成整数型,能够使用atoi 函数,比如:char c[10];int n;n = atoi? ;6、Char[] to float 和第 5 个技巧相同,使用 atof()函数能够变换成 float 型,比如:char c[10];float f;f = atof? ;7、Char* to int 和第 5 个技巧完整相同,比如:char *str = "100";int i;i = atoi(str);一、其余数据种类变换为字符串短整型(int)itoa(i,temp,10);/// 将 i 变换为字符串放入 temp 中,最后一个数字表示十进制itoa(i,temp,2); /// 按二进制方式变换长整型 (long)ltoa(l,temp,10);二、从其余包含字符串的变量中获取指向该字符串的指针CString变量 str ="2008 北京奥运 ";buf = (LPSTR)(LPCTSTR)str;BSTR种类的 _variant_t 变量v1 = (_bstr_t)" 程序员 ";buf = _com_util ::ConvertBSTRToString((_bstr_t)v1);三、字符串变换为其余数据种类 strcpy(temp,"123"); 短整型 (int)i = atoi(temp); 长整型 (long)l = atol(temp);浮点 (double)d = atof(temp);四、其余数据种类变换到CString使用 CString的成员函数 Format 来变换 ,例如:整数 (int)str.Format("%d",i); 浮点数 (float)str.Format("%f",i); 字符串指针 (char *) 等已经被 CString结构函数支持的数据种类能够直接赋值 str = username;五、 BSTR、_bstr_t 与 CComBSTR、_bstr_t 是对 BSTR的封装 ,BSTR是指向字符串的 32 位指针。

vc2MFC概述

vc2MFC概述

显示及更新
ProcessShell()创建窗口完成。 m_pMainWnd为指向主框架的指针,ShowWindow(SW_SHOW) UpdateWindow();
消息循环
CWinThread::Run ThreadCore.cpp中 其中PumpMessage 当WM_QUIT消息时退出 PumpMessage PumpMessage函数实现中有GetMessage 窗口过程函数是DefWindowProc,在vc中采用的是消息映射 的方式,后续阐述。
文档类 应用程序类
CView
框架Байду номын сангаас口类 视图类
非CObject派生类 派生类
MFC支持类 MFC支持类 • CArchive • CDumpContext • CRuntimeClass • CFileStatus • CMemoryState CTypePointerArray
通用工具类 • CString • CTime • CRect • Cpoint • CSize
初始化全局对象theApp
CHelloApp类构造函数 调用ProcessShellCommand() 创建主框架窗口对象、视 图对象、文档对象,创建 主框架窗口和视图窗口并 显示 CWinThread::Run() WM_QUIT 消息 循 环
WinMain
AfxWinMain函数 pApp- >InitInstance()
Msdn中查看 中查看MFC类结构 中查看 类结构
MFC分类 MFC分类 CObject_derived 类 Non_CObject_derived 类
CObject CCmdTarget CWinThread
线程基类 根类 命令相关类 窗口类

微生物燃料电池

微生物燃料电池



质子透过材料可以是盐桥,也可以是多孔的瓷隔 膜,理想的材料是只允许质子透过,而基质、细 菌和氧气等都被截留的微孔材料。
现在试验中大多选用的是质子交换膜PEM。

阴极
☺最新的研究表明,阴极是制约MFC产电的主要原
因之一。最理想的阴极电子受体应当是氧气,但 是从氧气的还原动力学来看,氧气的还原速度较 慢,这直接影响了MFC的产电性能。于是在阴极 加入各种催化剂来提高氧气的还原速率的研究开 始了。根据阴极催化剂的种类可以将MFC阴极分 为非生物阴极和生物阴极。
阳极反应: (CH2O)n+nH2O nCO2+4ne-+4nH+ 2H2O
阴极反应: 4e-+O2+4H+
阳极室
Hale Waihona Puke PEM阴极室图1.生物燃料电池工作原理
MFC
阳极 阴极

生物阴极 厌氧型生物阴 极
非生物阴极
好氧型生物阴 极
阳极
☺从MFC的构成来看,阳极担负着微生物附着并传
递电子的作用,可以说是决定MFC产电能力的重 要因素,同时也是研究微生物产电机理与电子传 递机理的重要的辅助工具。现在,MFC阳极主要 是以碳为主要材料,包括碳纸、碳布、石墨棒、 碳毡、泡沫石墨以及碳纤维刷。
☺ ☺
好氧型生物阴极 二氧化锰也能作为直接的电子受体, 在MFC的阴极表面沉积一层MnO2, 利用MnO2的电化学还原和生物再 氧化过程
☺ ☺
厌氧型生物阴极 在厌氧条件下,许多化合物,如硝 酸盐、硫酸盐、尿素和二氧化碳等 都可以作为电子受体。利用厌氧生 物阴极代替需氧生物阴极的一大优 势是可以阻止氧通过PEM扩散到阳 极,防止氧气消耗电子导致库伦效 率下降。
☺阳极是微生物氧化分解有机物的场所,所以微生

MFC各类库详解

MFC各类库详解

1.MFC概述1.MFC是一个编程框架MFC (Microsoft Foundation Class Library)中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序,这是一种相对SDK来说更为简单的方法。

因为总体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。

Microsoft Visual C++提供了相应的工具来完成这个工作:AppWizard可以用来生成初步的框架文件(代码和资源等);资源编辑器用于帮助直观地设计用户接口;ClassWizard用来协助添加代码到框架文件;最后,编译,则通过类库实现了应用程序特定的逻辑。

1.封装构成MFC框架的是MFC类库。

MFC类库是C++类库。

这些类或者封装了Win32应用程序编程接口,或者封装了应用程序的概念,或者封装了OLE特性,或者封装了ODBC和DAO数据访问的功能,等等,分述如下。

(1)对Win32应用程序编程接口的封装用一个C++ Object来包装一个Windows Object。

例如:class CWnd是一个C++ window object,它把Windows window(HWND)和Windows window有关的API函数封装在C++ window object的成员函数内,后者的成员变量m_hWnd就是前者的窗口句柄。

(2)对应用程序概念的封装使用SDK编写Windows应用程序时,总要定义窗口过程,登记Windows Class,创建窗口,等等。

MFC把许多类似的处理封装起来,替程序员完成这些工作。

另外,MFC提出了以文档-视图为中心的编程模式,MFC类库封装了对它的支持。

文档是用户操作的数据对象,视图是数据操作的窗口,用户通过它处理、查看数据。

(3)对COM/OLE特性的封装OLE建立在COM模型之上,由于支持OLE的应用程序必须实现一系列的接口(Interface),因而相当繁琐。

mfc 句柄的概念

mfc 句柄的概念

mfc 句柄的概念摘要:1.MFC 句柄的概念2.MFC 句柄的种类3.MFC 句柄的作用4.MFC 句柄的实例正文:一、MFC 句柄的概念MFC(Microsoft Foundation Class)是微软提供的一组用于开发Windows 应用程序的类库。

在MFC 中,句柄(Handle)是一个重要的概念,它是一个用于标识对象的指针。

通过句柄,我们可以访问和操作这些对象。

二、MFC 句柄的种类在MFC 中,句柄主要有以下几种类型:1.HWND:窗口句柄,用于标识一个窗口。

2.HMENU:菜单句柄,用于标识一个菜单。

3.HBRUSH:画笔句柄,用于标识一个画笔。

4.HPEN:画笔句柄,用于标识一个画笔。

5.HBITMAP:位图句柄,用于标识一个位图。

6.HICON:图标句柄,用于标识一个图标。

三、MFC 句柄的作用MFC 句柄的主要作用是方便程序员操作和控制各种对象。

通过句柄,我们可以实现以下功能:1.创建对象:使用New 操作符可以创建一个对象,并返回一个句柄。

2.访问对象:使用句柄可以访问和操作对象。

3.删除对象:使用Delete 操作符可以删除一个对象,同时句柄也会自动失效。

4.保存和恢复对象:通过对象的Serialize 和Deserialize 操作,可以将对象的状态保存到文件中,并在需要时恢复。

四、MFC 句柄的实例下面是一个简单的MFC 句柄实例,演示如何创建一个窗口并操作它:```cpp#include <afx.h>#include <iostream>int main(){// 创建一个窗口对象CWnd* pWnd = new CWnd();// 显示窗口pWnd->ShowWindow(SW_SHOW);// 获取窗口句柄HWND hWnd = pWnd->GetSafeHwnd();// 确保窗口句柄有效if (hWnd!= NULL){// 通过窗口句柄操作窗口SendMessage(hWnd, WM_CLOSE, 0, 0);}return 0;}```在这个例子中,我们创建了一个窗口对象,并通过其句柄操作窗口,最后关闭窗口。

微生物燃料电池研究进展

微生物燃料电池研究进展

微生物燃料电池研究进展一、本文概述微生物燃料电池(Microbial Fuel Cell, MFC)是一种将微生物的生物化学过程与电化学过程相结合的新型能源技术。

近年来,随着全球对可再生能源和环保技术的日益关注,MFC因其在废水处理同时产生电能的优势,受到了广泛关注和研究。

本文旨在综述当前微生物燃料电池的研究进展,包括其基本原理、性能提升、应用领域以及未来挑战等方面,以期为MFC的进一步研究和应用提供参考和借鉴。

MFC的基本原理是利用微生物作为催化剂,将有机物质在阳极进行氧化反应,产生电子和质子。

电子通过外电路传递到阴极,与阴极的氧化剂(如氧气)发生还原反应,产生电能。

同时,质子通过电解质传递到阴极,与电子和氧化剂反应生成水。

MFC的性能受到多种因素的影响,包括微生物种类、电极材料、电解质性质、操作条件等。

目前,MFC的研究主要集中在性能提升和应用拓展两个方面。

性能提升方面,研究者们通过优化电极材料、改进电解质配方、提高微生物活性等手段,提高了MFC的产电性能。

应用拓展方面,MFC已被尝试应用于废水处理、生物传感器、海洋能源开发等领域,展示了其广阔的应用前景。

然而,MFC技术仍面临一些挑战和问题,如产电效率低、稳定性差、成本高等。

因此,未来的研究需要在提高MFC性能的注重其实际应用中的可操作性和经济性。

本文将对MFC的研究进展进行详细的梳理和评价,以期为MFC的进一步发展和应用提供有益的参考。

二、MFC的分类与特点微生物燃料电池(MFC)是一种将微生物的生物化学反应与电化学过程相结合,将化学能直接转化为电能的装置。

根据其结构、运行方式以及电解质的不同,MFC可以分为多种类型,各具特色。

单室MFC:单室MFC是最简单的MFC结构,阳极和阴极位于同一室中,通过质子交换膜分隔。

这种结构使得MFC更为紧凑,但也可能因为质子传递的限制而影响性能。

双室MFC:双室MFC由两个独立的室组成,分别包含阳极和阴极,通过质子交换膜或盐桥连接。

MFC功能包

MFC功能包

MFC功能包在VS08 SP1中所含的VC08的MFC功能包(MFC Feature Pack for V isual C++ 2008)中,包含了对MFC库的扩展,以支持时髦的现代用户界面(UI)元素,如Office Fluent(流畅)UI、停靠窗口和MDI选项卡(tab)窗口(似Visual Studio 2005/2008)、增强型工具条、丰富的新控件集、支持总体视觉样式(overall visual style)、支持桌面报警(desktop alerts)等等。

程序员可以利用该功能包编写具有类似于微软公司的新版Microsoft Office、V isual Studio或Internet Explorer界面视觉样式的应用程序。

MFC功能包的改进主要体现在新型用户界面上,主要包括:功能区(ribbon)、选项卡(tab)窗口和窗格(pane)、视觉样式切换(换肤)、可停靠与自动隐藏的控制条和窗格等。

此功能包的帮助信息,位于MSDN的“目录\开发工具和语言\Visual Studio文档\V isual C++\参考信息\Libraries Reference\MFC Feature Pack for V isual C++ 2008”(主要内容在其中的“Reference\Classes”子目录中)。

5.1 新增功能下面列出MFC功能包在若干方面增加的具体新功能:1.菜单(Menu)●微软Office样式的菜单。

●O ffice样式的菜单条——你可以停靠,而且还可以用图片来定制。

●菜单动画——图片淡入/渐显(fades in)、展开(unfolds)或滑进视图(slides into view)。

●菜单阴影。

●菜单工具提示(tooltips)。

●可滚动菜单。

●自绘(owner-drawn)菜单图片。

●位于菜单左边的自绘标识(logo)。

●可在运行时修改菜单字体。

●M RU(Most Recently Used,最近使用)列表和窗口列表。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 必备基础知识概述1.1 MFC 文档视图结构程序结构总揽当我们使用MFC AppWizard 生成一个MFC 程序,选用所有默认的设置(当然也是Multiple Documents ,本文讨论主要基于MultipleDocuments ,对于Single Document 情况仅以简单表述提及,皆因后者和前者很多相似相同之处,但前者更为复杂,并且更加常用。

),假设你的程序名称为A ,则你会得到CMainFrame 、CChildFrame 、CAboutDlg 、CADoc 、CAView 、CAApp 6 个类(Single Document 仅少一个CChildFrame 类,其余均同)。

这些类的具体含义将在后面给出,这里先要给出一个MFC 支持文档视图结构程序(以下简称App )的主要组成:u 一个App (对应类CAApp )可以包含多个文档模版(CDocTemplate ),但是MFC AppWizard (无论是SDI 还是MDI )都只是默认生成一个。

但是在实际开发中一个文档模版不够,需要自己手工添加(在后面实际项目例子提供示例)。

这个结构是通过MFC 中CWinApp 的成员变量CDocManager* m_pDocManager 实现的,我们的CAApp 正是继承自MFC 提供的CWinApp 类。

u CDocManager 类则拥有一个指针链表CPtrList m_templateList 来维护这些文档模版。

这些文档模版都是在CAApp ::InitInstance ()中通过AddDocTemplate(pDocTemplate) 。

u CDocTemplate 拥有3 个成员变量,分别保存着Document 、View 、Frame 的CRuntimeClass 指针,另外持有成员变量m_nIDResource ,用来指定这个Document 显示时候采用的菜单资源。

这 4 份数据都在CAApp ::InitInstance ()中CDocTemplate 的构造函数中指定。

在Document 中拥有一个回指CDocTemplate 的指针(m_pDocTemplate )。

u 一个文档可以有多个视图,由Document 中成员变量CPtrList m_ViewList 维护。

u CFrameWnd 拥有一个成员变量CView* m_pActiveView 指向当前活动的View 。

u CView 中拥有一个成员变量CDocument* m_pDocument 指向该视图相关的Document 。

[ 注解] :①MFC SDI/MDI 程序默认都默认生成了一个文档模版,并将这个文档模版Add 到其文档模版的链表中,由于这是MFC 默认提供的,因此这个文档模版会被插入到文档模版的第一个位置,而MFC 也是通过这个文档模版的特定位置可以确定的。

默认情况下,当我们点击File (Open )/ File (New )的时候,这个文档模版会被启用。

除了侯捷先生在《深入浅出MFC 中列出的以上的深入分析,我们还应该(很大程度上更加重要)掌握以下的关于MFC SDI/MDI 的知识:u 文档的本质:文档是用来保存数据以及关于数据的处理的,每当MFC SDI/MDI 响应File (Open )/ File (New )的时候都会打开一份文档。

文档可以拥有多个视图。

文档和视图的关系可以这样理解:文档是被视图观察的对象。

u 视图本质:视图在Windows 中就是一个窗口,也就是一个可视化的矩形区域。

视图是用来表示文档的数据的。

但是每个视图必需依附于一个框架(SDI 中是MainFrame ,MDI 是ChildFrame )。

当然你可以自己去Create 一个视图,并且去显示它。

u 框架的本质:框架实际是也是一个Windows 窗口。

但是在框架上可以放置菜单、工具栏、状态栏等。

而视图则放在框架的客户区。

因此MFC 中我们看到的窗口实际上Frame 和View 共同作用的结果。

u 在某一时刻,程序中只有一个活动的文档、框架和视图,即当前的文档、框架、视图。

1.2 MFC SDI/MDI 各个类之间的互访在实际项目开发中用的最多就是各个类之间的互访问,这里将网络上和书籍中提说明:1 )以上给出的都是方法,实际访问中可能还要进行以下简单的处理,如类型转换,循环遍历等;2 )可能没有列举完所有可能位置的互访问,但可以通过他们的组合得到。

2 文档、视图、框架之间的关联MFC SDI/MDI 中的核心就在于文档、视图、框架之间的关联,形成了一个有机的可运作的整体。

MFC 提供了默认的关联关系,但是在实际的项目开发中很多时候需要动态进行他们的之间的关联。

2.1 文档和视图间的关联使用MFC AppWizard 声称MFC SDI/MDI 程序,在App 类的InitInstance ()方法中有如下代码(假设Project 名称均为Test ):uu这里通过CDocTemplate (无论是SDI 中的CSingleDocTemplate 还是MDI 中的CMultiDocTemplate )的构造函数,将文当、视图和框架(SDI 中与主框架,MDI 中与自框架)关联在一起了,形成了一个整体。

手工实现文当和视图的关联在实际的项目开发时候仅仅依靠MFC AppWizard 生成的文当和视图、框架是不够的,因此我们需要掌握手工进行这种关联。

手工进行文当和视图的关联可以有以下两种实现方式:l 模仿MFC AppWizard 实现,使用CDocTemplate 的构造函数:在上面的分析中我们可以看到通过CDocTemplate (无论是SDI 中的CSingleDocTemplate 还是MDI 中的CMultiDocTemplate )的构造函数我们可以获得文档、视图和框架的关联。

因此可以通过模拟这种方式进行关联。

具体实现方法如下:1 )创建新的文档、视图和框架类,方法是使用VC 中的Insert MFC Class实现。

注意到框架类选择CMDIChildWnd 作为基类,文档类选择CDocument 作为基类,而视图类则可以根据需要选择CView 或其子类(CEditView )等作为基类。

2 )为该框架添加菜单资源,方法是在VC 资源窗口Menu 菜单下添加新的菜单,当然可以通过复制VC 提供默认菜单进行修改。

3 )在App 类的InitInstance ()中添加如下类似代码:4 )为了记录这个文档模版,你可以在App 类中添加一个CMultiDocTemplate*类型变量来维持这个文档模版。

l 上面给出了通过CDocTemplate 的构造函数将文档、视图、和框架关联起来,但是有时候我们并不想创建一个新的文档模版,我们只是想给同一个数据提供不同的结果显示,或者说是为同一个文档添加一个新的视图,并提供他们之间的一个切换。

还有一种可能就是我们本来不是一个文档视图结构支持的程序,想为视图添加一个文档,更好进行业务逻辑和表示层的一个分离。

第一种方法的实现方法:Step 1 :使用 VC 6.0 新建一个 Project ,命名为: MultiView 。

除选择单文档属性外,一切使用“默认”方式。

于是你可以获得五个类:CMainFrame ,CMultiViewApp ,CMultiViewDoc ,CMult iViewView ,和CAboutDlg ;Step 2 :新建一个新的视图 View ,添加一个新的 MFCClass ( Insert - >New Class ),基类为 CView (或者 CView 的派生子类,如 CEditView 等)。

类的名字为CAnotherView ,这就是新的视图;给程序菜单IDR_MAINFRAME 添加一个菜单项目“视图”,该菜单项有两个子菜单“视图一”和“视图二”,添加相应函数(void CMultiViewApp :: OnShowFirstview ()和 void CMultiViewApp :: OnShowSecondview ());Step 4 :创建新的视图:Step 5 :现在已经创建了视图,并且都和文档关联起来了。

现在要作的就是视图间的转换。

在void CMultiViewApp :: OnShowFirstview ()中添加实现代码:Step 6 :为了演示,这里将不同的视图给予一个标记,在CMultiViewView 和CAnotherView 的OnDraw 方法中分别添加以至此就大功告成了,但是实现过程中有几点说明:1)实现中由于使用到相关的类,因此在必要的地方要 include 相关的头文件,这里省略;CAnotherView 的默认构造函数是 Protected 的,需要将其改为 Public ,或者提供一个产生CAnotherView 对象的方法(因要创建视图对象);2)这里给出的是一个示例代码,实际开发中可以通过参考实现获得自己想要实现的具体应用情况(例如视图类的不同、数量不同,更重要的还有业务逻辑的不同实现等);第二种视图和文档关联的方法:我们使用CCreateContext 类进行他们之间的l 在框架和视图关联的时候进行设置,具体见一下框架和视图关联部分。

2.2 框架和视图的关联在第一部分分析我们知道,框架和视图其实都是windows 窗口,不过框架提供了菜单、标题栏、状态栏等资源,而视图则只是一个矩形区域。

MFC 程序中视图决定大多数时候要依附于一个框架(SDI 中的MainFrame 和MDI 中的子框架窗口),可以这样理解,框架相当于一个窗口容器(当然它本身也是一个windows 窗口),而视图则正好是放置在框架内客户区域的内容。

框架和视图的关联也可以通过模仿MFC AppWizard 实现,使用CDocTemplate 的构造函数实现,即和2.1 中文档和视图间的关联方式相同,这里就不再给出,参看上面的详细实现即可。

同上面的分析,在很多的时候我们并不是需要提供一个新的文档模版,我们只是需要显示一个新的窗口(MDI 程序),例如我们在作MIS 系统界面管理的时候,经常出现的情况就是用户点击一个菜单选项,即弹出一个处理窗口。

而要显示一个新的窗口,我们可以通过CDocTemplate 的OpenDocumentFile ()方法打开一个文档实现,这样就建立一套的文档、视图和框架的体系。

上面已经分析到,我们看到MFC 的窗口实际上框架和视图的一个结合体,我们并不一定要提供文档、视图、框架的整个体系,我们只需要框架和视图的结合即可实现窗口的显示,这就要经过两个步骤实现:第一步将视图和框架关联,第二步显示框架(也就是一个windows 窗口的显示)。

相关文档
最新文档