MFC——4个基本类中的成员函数介绍.docx
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函数详解MFC(Microsoft Foundation Class)是一种面向对象的Windows应用程序框架,它是微软公司在Windows操作系统下的视窗类库,是Visual C++的一些类和函数的集合。
MFC的作用是提供一种高级的、面向对象的编程结构,让程序员更加容易地开发Windows应用程序。
下面是一些常用的MFC函数及其详解:1. AfxMessageBox函数原型:int AfxMessageBox(LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0);函数作用:显示一个消息框,包含文本、标题和按钮。
参数解释:lpszText:要显示的消息文本。
nType:消息框类型,包括按钮以及图标等样式。
nIDHelp:帮助ID,用于消息框的帮助文件。
返回值:用户选择的按钮行为,如“取消”、“确定”等。
2. AfxGetMainWnd函数原型:CWnd* AfxGetMainWnd( );函数作用:获取当前线程的主窗口对象指针。
参数解释:无。
返回值:当前线程的主窗口对象指针。
3. CString.Format函数原型:int Format(LPCTSTR lpszFormat, ...);函数作用:根据格式控制符格式化字符串。
参数解释:lpszFormat:格式化字符串,格式控制符用“%”标识。
...:格式控制符中各个参数的值。
返回值:格式化后的字符串长度。
4. CListBox.SetCurSel函数原型:int SetCurSel(int nIndex);函数作用:设置列表框中当前选定项的索引。
参数解释:nIndex:要选定项的索引,从0开始。
返回值:如果设置成功,则返回新选定项的索引;否则,返回LB_ERR。
5. CEdit.SetWindowText函数原型:void SetWindowText(LPCTSTR lpszString); 函数作用:设置编辑框的文本内容。
MFC常用函数

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★//这一页的代码最重要了,呵呵……什么都在这里面呢;单文档新建:CWinApp_________docManager->docSingleTemplate的OpenDocumentFile函数参数为空,此函数完成了大部分东西,包括新建文档类框架类等______________然后是调用CDocument就没什么意思了,当然我们要是重载了CDocument的新建函数就是调用子类虚函数。
多文档新建:CWinApp_________docManager->docMultTemplate的OpenDocumentFile函数参数为空,此函数完成了大部分东西,包括新建文档类框架类等______________然后是调用CDocument就没什么意思了,当然我们要是重载了CDocument的新建函数就是调用子类虚函数。
单文档打开:CWinApp_________docManager中经过一个打开对话框传递参数,中途还调用了APP的OpenDocumentFile,当然如果我们的APP重载了这个函数也要调用我们的但是我们的函数一定别忘记最后返回是调用父类的此函数___________docSingleTemplate的OpenDocumentFile函数参数不为空,此函数完成了大部分东西,包括新建文档类框架类等______________然后是调用CDocument就没什么意思了,当然我们要是重载了CDocument的新建函数就是调用子类虚函数。
多文档打开:CWinApp_________docManager中经过一个打开对话框传递参数,中途还调用了APP的OpenDocumentFile,当然如果我们的APP重载了这个函数也要调用我们的但是我们的函数一定别忘记最后返回是调用父类的此函数___________docMultTemplate的OpenDocumentFile函数参数不为空,此函数完成了大部分东西,包括新建文档类框架类等______________然后是调用CDocument就没什么意思了,当然我们要是重载了CDocument的新建函数就是调用子类虚函数。
MFC类库的基本类

MFC类库是一个层次结构,主要有CObject类、应用程序类、可视对象类、绘图和打印类、通用类、数据库类、Internet和网络类、OLE类。
(1)CObject类CObject类是MFC的抽象基类,MFC中的大多数类是从CObject类派生出来的。
它是MFC 中多数类和用户自定义的根类,该类为程序员提供了希望融入所编写程序的许多公共操作,包括对象的建立和删除、串行化支持、对象诊断输出、运行时信息以及集合类的兼容等。
CObject类的声明在Afx.h中。
(2)应用程序结构类该类主要用于构造框架应用程序的结构,提供了多数应用程序公用的功能.编写程序的任务是填充框架,添加应用程序专有的功能。
1.应用程序和线程支持类CWinThread类是所有线程的基类,窗口应用程序类CWinApp类就是从该类中派生来的。
每个应用程序有且只有一个应用程序对象,在运行程序中该对象和其他对象相互协调,该对象从CWinApp中派生出来。
该类封装了初始化、运行、终止应用程序的代码。
2.命令相关类CCmdTarget类是CObject的子类,它是MFC所有具有消息映射属性的基类。
消息映射规定了当一对象接收到消息命令时,应调用哪个函数对该消息进行处理。
程序员很少需要从CCmdTarget类中直接派生出新类,往往都是从它的子类中派生出新类。
如窗口类(CWnd)、应用程序类(CWinApp)、文档模板类(CDocTemplate)、视类(CView)及框架窗口类(CFrameWnd)等。
3.文档类文档对象由文档对象模板创建,用于管理应用程序的数据。
视图对象表示一个窗口的客户区,用于显示文档数据并允许读者与之交互。
有关文档/视结构的类如下:①CDocTemplate类:文档模板的基类。
文档模板用于协调文档、视图和框架窗口的创建。
②CSingleDocTemplate类:单文档界面(SDI)的文档模板。
③CMultiDocTemplate类:多文档界面(MDI)的文档模板。
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中的DC、CDC、HDC、句柄、设备

MFC中的DC、CDC、HDC、句柄、设备上下文究竟是什么意思?在MFC程序中,我们并不经常直接调用Windows API,而是从MFC类创建对象并调用属于这些对象的成员函数.也就是说MFC封装了Windows API 你说你喜欢C++而MFC换一种说法就是一个用C++写的一个函数库然后你来调用只不过这个类不是你写的MFC提供数百个类,最重要的、也是编写任何VC++应用程序都必不可少的两个类CWinApp和CFrameWnd,这两个类是编写复杂庞大应用程序的基石。
1>封装特性:构成MFC框架的是MFC类库而MFC类库又是C++的一个类库。
这些类封装WIN32应用程序编程接口,OLE(Object Link Embed 对象链接嵌入)特性,ODBC和DAO数据访问的功能。
2>继承特性:MFC抽象出了众多类的共同特性,并设计出一些基类作为实现其他类的基础,这些类中最重要的类是CObject类和CCmdTarget类,程序员可以从适当的MFC类中派生出自己的类,实现特定的功能达到编程的目的。
3>虚拟和消息映射:MFC是以C++为基础,当然支持虚函数,但作为一个编程框架必须要解决的是效率问题:如果MFC仅仅通过虚函数来支持动态约束必然会产生大量的虚函数表这样编程框架过于臃肿而且消耗更多的内存。
但是MFC建立了消息映射机制这样降低了内存的使用却大大提高了效率消息映射是一个将消息和成员函数相互关联的表,当应用程序的框架窗口接收到一个消息时,MFC将搜索该窗口的消息映射,如果存在一个处理消息的处理程序,那么就调用该处理程序.它通过宏来实现消息到成员函数的映射,而且这些函数不必是虚拟的成员函数,这样不需要为消息映射函数生成一个很大的虚拟函数表(V表),节省内存。
MFC消息映射机制:将消息与消息处理函数联系起来,形成一一对应的机制。
消息映射宏声明:DECLARE_MESSAGE_MAP定义:BEGIN_MESSAGE_MAPON_COMMANDON_CONTROLON_MESSAGEEND_MESSAGE_MAPMFC主要组成部分:类、宏和全局函数。
MFC常用类介绍

MFC常用类介绍(一)C++学习 2010-06-27 11:43:05 阅读332 评论0 字号:大中小订阅CStaticCObject└CCmdTarget└CWnd└CStaticCStatic类提供了一个Windows静态控件的性能。
一个静态控件用来显示一个文本字符串,框,矩形,图标,光标,位图,或增强的图元文件。
它可以被用来作为标签,框,或用来分隔其它的控件。
一个静态控件不接收输入,也不提供输出;但是,如果它是用SS_NOTIFY风格创建的,则它可以通知其父有关设备点击的消息。
创建一个静态控件分两步。
首先,调用构造函数来构造此CStatic对象,然后调用Create成员函数来创建此静态控件并将它与该CStatic对象连接。
如果你是在一个对话框中创建了一个静态控件(通过一个对话框资源),则当用户关闭这个对话框时,此CStatic对象被自动销毁。
如果你是在一个窗口中创建了一个CStatic对象,则必须由你来销毁它。
在一个窗口的堆栈中创建的CStatic对象将自动被销毁。
如果你是使用new函数在堆中创建CStatic对象,则当你使用完后,必须调用delete来销毁这个CStatic 对象。
#include<afxwin.h>请参阅:CWnd,CButton,CComboBox,CEdit,CListBox,CScrollBar,CDialogCStatic类成员构造CStatic构造一个CStatic对象初始化Create创建Windows静态控件并将它与该CStatic对象连接操作符SetBitmap指定要在此静态控件中显示的位图GetBitmap获取先前用SetBitmap设置的位图的句柄SetIcon指定一个要在此静态控件中显示的图标GetIcon获取先前用SetIcon设置的图标的句柄SetCursor指定要显示在此静态控件中的光标图像GetCursor获取先前用SetCursor设置的光标图像的句柄SetEnhMetaFile指定要显示在此静态控件中的增强的图元文件GetEnhMetaFile获取先前用SetEnhMetaFile设置的增强图元文件的句柄CEditCObject└CCmdTarget└CWnd└CEditCEdit类提供了Windows编辑控件中的功能。
MFC中文档视图框架和文档模板之间的关系 四个类常用的成员函数

文档对象:是用来保存数据的。
视图对象:是用来显示和编辑数据的。
应用程序框架:框架是用来管理不同文档显示界面的。
例如你有一个数据网格显示界面,还有一个图形显示界面,它们的数据可能都来自你的文档,但是视图不同,怎么办用框架。
为什么不用视图?为的是把界面管理独立的拿出来。
文档模板:MFC把文档/视图/框架视为一体,只要你创建文档/视图框架结构的程序,必定会为你创建这三个类。
这个工作在在应用程序初始化时完成,如下:[cpp]view plaincopy1.BOOL CMyHtmlApp::InitInstance()2.{3. CSingleDocTemplate* pDocTemplate;4. pDocTemplate = new CSingleDocTemplate(5. IDR_MAINFRAME,6. RUNTIME_CLASS(CMyHtmlDoc),7. RUNTIME_CLASS(CMainFrame), // main SDI frame window8. RUNTIME_CLASS(CMyHtmlView));9. AddDocTemplate(pDocTemplate);10. }单文档:就是一次只能打开一个文件,和你的文档类型支持的多少无关。
你完全可以做一个单文档的支持所有图象格式的程序,只不过它一次只能打开一个文档罢了。
多文档:就是你可以打开多个文件,和文档类型也无关。
你也可以作一个可以同时打开多个文档的程序,但它只支持一种文档类型。
何时需要文档/视图框架结构?首先你可以不使用文档视图这种框架结构,即便是在MFC中。
你可以在你需要的时候选择使用这种方式。
你可以完成一个只有视图没有文档的程序,例如一个基于对话框的应用。
哪什么时候需要呢?当你想将你的数据层和界面层分开的时候。
通常我们对数据的操作放在文档类中,例如存取,打开,关闭。
在这里你可以尽情的对你的数据进行操作,如果你需要,在对数据进行了改变后,对视图做一下更新,那么程序会将你对数据所做的改变呈现给你的程序的用户。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
09121852杜军机械设计及理论1. CMainFrameActivateFrame使框架对用户可视并可用CalcWindowRect每当主框架窗I I的客户区尺寸发生变化或控制条的位置发生变化,需要重新排列客户区时,调用该函数Create调用以构造和初始化一个与CFrameWnd对象有关的Windows框架窗口DefWindowProc该函数调用缺省的窗口过程来为应用程序没有处理的任何窗口消息提供缺省的处理DestroyWindow销毁指定的窗口DoDataExchange UpdateData会调用这个函数,调用它来初始化对话框的控件或更新数据GetActiveDocument得到当前文档的指针GetActiveFrame 返回活动CFrameWnd 对象GetScrollBarCtrl调用这个成员函数以获取指定的了滚动控件或分隔窗I I的指针LoadFrame调用以从资源信息屮动态构造一个框架窗口OnAmbientProperty框架调用这个成员函数以从包含OLE控件的窗口获得ambient属性值。
重载这个函数以改变OLE控件容器向它的控件返回的缺省ambient属性值。
任何没冇被重载函数处理的ambient属性请求将被传递到慕类的实现中OnChildNotify该函数为重载函数,作为部分消息映射被调用,告诉父窗口即将被告知一个窗口刚刚被创建OnCmdMsg该函数的功能首先按字节对消息进行排序,对于WM_COMMAND 消息,调用OnCommand消息响应函数,对于WM_NOTIFY消息调用OnNotify 消息响应函数。
任何被遗漏的消息将是一个窗I I消息。
OnWndMsg函数搜索类的消息映像,以找到一个能处理任何窗口消息的处理函数。
如果OnWndMsg函数不能找到这样的处理函数的话,则把消息返冋到WindowProc函数,由它将消息发送给DefWindowProc函数OnCommand该函数查看这是不是一个控件通知,如果它是,OnCommand函数会试图将消息映射到制造通知的控件;如杲他不是一个控件通知,OnCommand 就会调用OnCmdMsg函数OnCreateClient为框架构造一个用户窗口OnFinalRelease木函数在对对象的最后一个OLE参考或对象对别人的后一个OLE 参考被释放时,由框架调用OnNotify框架调用这个函数以通知控件的父窗I」,在控件中发生了一个事件,或者该控件需要某些类型的信息。
OnNotify处理控件通知的消息映射OnSetPreviewMode 设置应用的主框架成为或退出预打印模式PostNcDestroy在窗口被销毁以后,缺省的OnNcDestroy成员函数调用这个函数。
派生类可以利用这个函数來执行自定义的清除工作,比如删除指针PreCreateWindow该函数是一个重载函数,在窗I I被创建而,可以在该重载函数屮改变创建参数PreSubclassWindow这也是一个重载函数,允许首先子分类一个窗口PreTranslateMessage 在消息被分派至U Windows 函数TranslateMessage 和DispatchMessage Z前过滤消息RecalcLayout当标准工具栏或状态栏隐藏或者显示,或者窗口调整大小时,框架调用这个方法Serialize串行化函数WindowProc该函数负责发送消息到OnWndMsg()函数WinHelp调用这个函数以激活WinHelp应用程序。
框架也会调用这个函数以激活WinHelp应用程序。
当你的应用程序终止时,框架会自动关闭WinHelp应用程序WM.ACTIVATE 一个窗口被激活或失去激活状态WM.ACTIVATEAPP发此消息给应用程序哪个窗口是激活的,哪个是非激活的WM_CANCELMODE发送此消息来取消某种正在进行的摸态WM_CAPTURECHANGED该消息发送给一个失去鼠标捕获的窗口WM.CHAR按下某键,并已发出WM_KEYDOWN, WM_KEYUP消息WM_CLOSE当一个窗口或应用程序要关闭时发送一个信号WM.CONTEXTMENU 当用户屮某个窗口点击了一下右键就发送此消息给这个窗口WM_COPYDATA当一个应用程序传递给另一个应用程序时发送此消息WM_CREATE应用程序创建一个窗口WM_DESTROY 一个窗口被销毁WM_ENDSESSION当系统进程发出WM_QUERYENDSESSION消息后,此消息发送给应用程序,通知它对话是否结束WM_ERASEBKGND当窗口背景必须被擦除时调用WM_FONTCHANGE当系统的字体资源库变化时发送此消息给所冇顶级窗口WM.GETMINMAXINFO此消息发送给窗口当它将要改变大小或位置WM.HELPINFO当使用类向导为W_HELP消息添加处理程序吋,邮件不会列出在邮件列表框中。
而是,该邮件被列另WM_HELPTNFOWM_HSCROLL当一个窗口标准水平滚动条产生一个滚动事件时发送此消息给那个窗口,也发送给拥有它的控件WMJCONERASEBKGND此消息发送给某个最小化窗口,仅当它在画图标前它的背景必须被重画WM」NIITMENUPOPUP当一个下拉菜单或子菜单将要被激活时发送此消息,它允许程序在它显示丽更改菜单WM_KEYDOWN按下一个键WM_KEYUP释放一个键WM_KILLFOCUS失去焦点WM_LBUTTONDBLCLK双击鼠标左键WM_LBUTTONDOWN 按下鼠标左键WM_LBUTTONUP释放鼠标左键WM_MOUSEMOVE检测鼠标移动WM_MOUSEWHEEL当鼠标轮子转动吋发送此消息个当前有焦点的控件WM_MOVE移动一个窗口WM_MOVING当用户在移动窗I」时发送此消息,通过此消息应用程序可以监视窗口头小和位置,也可以修改辿们WM_PAINT要求一个窗口重画自己WM_PALETTECHANGED此消息在一个拥有焦点的窗M实现它的逻辑调色板后发送此消息给所冇顶级并重叠的窗口,以此来改变调色板WM_PALETTEISCHANGING当一个应用程序正要实现它的逻辑调色板时发此消息通知所有的应用程序WM_QUERYENDSESSION当用户选择结束对话框或程序自己调用ExitWindows 函数WM.QUERYNEWPALETTE维护系统调色板WM_RBUTTONDBLCLK双击鼠标右键WM_RBUTTONDOWN按下鼠标中键WM_RBUTTONUP释放鼠标屮键WM_SETCURSOR如果鼠标引起光标在某个窗口中移动11鼠标输入没冇被捕获时,就发消息给某个窗口WM.SETFOCUS获得焦点后WM_SETTTNGCHANGE注册表修改相关消息WM_SHOWWINDOW当隐藏或显示窗口是发送此消息给这个窗MWM_SIZE改变一个窗口的大小WM_SIZING当用户止在调整窗口大小时发送此消息给窗I」;通过此消息应用程序可以监视窗口大小和位置,也可以修改他们WM_SPOOLERSTATUS每当打印管理列队增加或减少一条作业时发出此消息WM_SYSCOLORCHANGE当系统颜色改变吋,发送此消息给所有顶级窗口WM.TCARD当程序已经初始化Windows帮助例程吋发送此消息给应用程序WM_TIMECHANGE当系统时间发生改变时发出该消息WM.TIMER发生了定时器事件WM_VSCROLL当一个窗口标准水平滚动条产生一个滚动事件时发送此消息给那个窗口,也发送给拥有它的控件CAPPAddToRecentFileList将一个文件名加入最近使用(MRU)的文件列表DoMessageBox 为应用程序实现AfxMessageBoxDoWaitCursor打开或关闭等待光标Exitinstance可被重载以在应用程序结束时执行清除操作GetMainWnd此函数返回指向一个窗口的指针,这个窗口为两类窗口屮的一种。
如果你的线程是一个OLE服务器的一部分并且拥有一个位于活动容器中的现场激活的对象,此函数返冋CWinThread对象的CWinApp::m_pActiveWnd数据成员InitApplication初始化程序Initlnstance可被重载以执行Windows的实例初始化,比如创建窗口对象OnCmdMsg是用来处理消息的路由的OnDDECommand框架调用这个函数以响应动态数据交换(DDE)执行命令OnFinalRelease本函数在对对象的最后一个OLE参考或对象对别人的后一个OLE 参考被释放时,由框架调用Onldle可被重载以执行应用程序指定的空闲时处理OpenDocumentFile框架调用这个成员函数为应用程序打开指定名字的CDocument 文件。
如果具有该名字的文档已经被打开了,则包含这个文档的第一个框架窗口将被激活。
如果应用程序支持多文档模板,则框架使用文件扩展名查找适当的文档模板,试图载入此文档。
PreTranslateMessage在消息被分派到Windows 函数TranslateMessage 和DispatchMessage 之前过滤消息ProcessMessageFilter在消息到达应用程序之前截取特定的消息ProcessWndProcException截取应用程序的消息和命令处理函数抛出的未被处理的异常Run运行缺省的消息循环。
可被重载以定制消息循环SaveAllmodified提示用户保存所有改变了的文档Serialize串行化函数WinHelp 调用Windows 的WinHelp 函数CDocCanCloseFrame高级函数覆盖。
由框架窗口在观察文档之前调用DeleteContents在清除文档时调用GetFirstViewPosition返回文档列表的第一个位置,用作迭代查找的开始GetNextView通过与文档相联系的文档列表迭代OnChangedViewList在视图往文档中添加或从其中删除之后调用OnCloseDocument关闭文档吋调用OnCmdMsg是用來处理消息的路由的OnFinalRelease本函数在对对象的最后一个OLE参考或对象对别人的后一个OLE 参考被释放时,由框架调用OnNewDocument建立新文档OnSaveDocument 保存文档ReportSaveLoadException高级函数覆盖。
在由于异常而不能打开或保存时调用SaveModified设置文档修改标志Serialize串行化函数SetPathName为文档使用的数据文件设置路径SetTitle设置框架窗口的标题CViewCalcWindowRect每当主框架窗口的客户区尺寸发生变化或控制条的位置发生变化,需要重新排列客户区吋,调用该函数Create调用以构造和初始化一个CFrameWnd对象冇关的Windows框架窗口DefWindowProc该函数调用缺省的窗I I过程來为应用程序没有处理的任何窗I I 消息捉供缺省的处理DestroyWindow销毁指定的窗口DoDataExchange UpdateData会调用这个函数,调用它来初始化对话框的控件或更新数据GetScrollBarCtrl调用这个成员函数以获取指定的了滚动控件或分隔窗I I的指针IsSelected测试一个文档项是否被选屮。