应用程序框架与视图结构课件

上传人:仙*** 文档编号:241328295 上传时间:2024-06-18 格式:PPTX 页数:34 大小:460.69KB
返回 下载 相关 举报
应用程序框架与视图结构课件_第1页
第1页 / 共34页
应用程序框架与视图结构课件_第2页
第2页 / 共34页
应用程序框架与视图结构课件_第3页
第3页 / 共34页
点击查看更多>>
资源描述
第第3章章 应用程序框架与文档应用程序框架与文档/视视图结构图结构 了解应用程序的基本框架以及文档了解应用程序的基本框架以及文档/视图结构。视图结构。3.1 3.1 生成应用程序框架生成应用程序框架如果程序名为如果程序名为TestTest,那么生成的框架将包含,那么生成的框架将包含4 4个基本的类:个基本的类:CMainFrame:CMainFrame:主框架类主框架类CTestApp:CTestApp:主应用程序类主应用程序类CTestDoc:CTestDoc:文档类文档类CTestView:CTestView:视图类视图类CTestAppCTestViewCMainFrameCTestDoc消息消息消息消息消息消息parentdocument3.2 CTestApp3.2 CTestApp类类重要特性:重要特性:(1 1)由)由MFCMFC中的类中的类CWinAppCWinApp派生来。派生来。(2 2)InitInstance()InitInstance()在生成该程序新的实例时,自动在生成该程序新的实例时,自动调用完成一些初始化的工作。调用完成一些初始化的工作。(3 3)ExitInstance()ExitInstance()在程序实例退出时,自动调用。在程序实例退出时,自动调用。主要功能:主要功能:(1 1)定义)定义文档模板文档模板。(2 2)接收)接收WindowsWindows系统的消息。系统的消息。(3 3)启动程序界面)启动程序界面文档模板:文档模板:作用:把程序用到的框架窗口、文档、视图、应用程序对作用:把程序用到的框架窗口、文档、视图、应用程序对象以及有关的资源联系起来。象以及有关的资源联系起来。一个程序可以定义多个文档模板。一个程序可以定义多个文档模板。3.2 CMainFrame3.2 CMainFrame类类重要特性:重要特性:(1 1)由)由MFCMFC中的类中的类CMainFrameCMainFrame派生来。派生来。(2 2)是)是CTestViewCTestView的父窗口。的父窗口。主要功能:主要功能:(1 1)管理程序的主框架窗口。)管理程序的主框架窗口。(2 2)工具条、状态条的生成和管理。)工具条、状态条的生成和管理。3.3 CTestDoc3.3 CTestDoc类、类、CTestDocCTestDoc类与文档类与文档/视图结构视图结构重要特性:重要特性:(1 1)CTestDoc CTestDoc由由MFCMFC中的类中的类CDocumentCDocument派生来派生来-数据维护数据维护(2 2)CTestView CTestView由由MFCMFC中的类中的类CViewCView派生来派生来-数据显示数据显示主要功能:主要功能:(1 1)文档类负责管理和维护数据。)文档类负责管理和维护数据。(2 2)视图类负责将文档类中的数据显示给用户,并接受用)视图类负责将文档类中的数据显示给用户,并接受用户的修改,将修改结果反馈给文档类。户的修改,将修改结果反馈给文档类。CDocumentCDocument类中常用函数:类中常用函数:(1 1)CDocument CDocument类中类中OnNewDocument()OnNewDocument()函数函数 虚函数虚函数 新文档被创建时调用。新文档被创建时调用。(2 2)CDocument CDocument类中类中OnOpenDocument()OnOpenDocument()函数函数 虚函数虚函数 打开已有文档时调用。打开已有文档时调用。(3 3)CDocument CDocument类中类中OnSaveDocument()OnSaveDocument()函数函数 虚函数虚函数 保存文档时调用。保存文档时调用。(4 4)CDocument CDocument类中类中OnCloseDocument()OnCloseDocument()函数函数 虚函数虚函数 关闭文档时调用。关闭文档时调用。CViewCView类中常用函数:类中常用函数:(1 1)CView CView类中类中OnDraw()OnDraw()函数函数 虚函数虚函数 视图刷新时自动调用。视图刷新时自动调用。(2 2)CView CView类的类的OnInitialUpdate()OnInitialUpdate()函数函数 应用程序启动时,应用框架在调用了应用程序启动时,应用框架在调用了OnCreate()OnCreate()函数函数后会立刻调用后会立刻调用OnInitialUpdate()OnInitialUpdate()函数。函数。可以类用该函数对视对象进行初始化。可以类用该函数对视对象进行初始化。文档文档-视图之间的作用函数:视图之间的作用函数:(1 1)CView CView类中类中GetDocument()GetDocument()函数函数 在视图中得到相应的文档。它返回文档的指针,通过在视图中得到相应的文档。它返回文档的指针,通过该指针就可以对文档类的成员函数及公共数据进行访问。该指针就可以对文档类的成员函数及公共数据进行访问。CTestDocCTestDoc*CTestViewCTestView:GetDocumentGetDocument()()ASSERTASSERT(m_pDocumentm_pDocument-IsKindOfIsKindOf(RUNTIME_CLASSRUNTIME_CLASS(CTestDocCTestDoc););returnreturn(CTestDocCTestDoc*)*)m_pDocumentm_pDocument;(2 2)CDocument CDocument类中类中GetNextView()GetNextView()函数函数 用来在文档中得到试图,但文档中可以对应不止一个用来在文档中得到试图,但文档中可以对应不止一个视图,因此,必须进行一个循环。视图,因此,必须进行一个循环。文档文档-视图之间的作用函数:视图之间的作用函数:(3 3)CDocument CDocument类中类中UpdateAllViews()UpdateAllViews()函数函数 更新文档对应的所有视图。当文档中的数据发生变化时更新文档对应的所有视图。当文档中的数据发生变化时调用,用以对显示的数据进行更新。调用,用以对显示的数据进行更新。GetDocument()-UpdateAllViews(this);GetDocument()-UpdateAllViews(this);(4 4)CView CView类中类中OnUpdate()OnUpdate()函数函数 当应用程序调用了文档类的当应用程序调用了文档类的UpdateAllViews()UpdateAllViews()函数时,函数时,应用程序框架会相应的调用该函数。应用程序框架会相应的调用该函数。voidvoid CTestViewCTestView:OnUpdateOnUpdate(CViewCView*pSenderpSender,LPARAMLPARAM lHintlHint,CObjectCObject*pHintpHint)文档文档-视图之间的作用顺序:视图之间的作用顺序:应用程序启动应用程序启动 CTestDoc CTestDoc对象被创建对象被创建 CTestView CTestView对象被创建对象被创建 视窗口被创建视窗口被创建 CTestView:OnCreate CTestView:OnCreate被调用被调用 CTestView:OnInitialUpdate CTestView:OnInitialUpdate被调用被调用 视对象被初始化视对象被初始化 视窗口被显示视窗口被显示用户编辑数据用户编辑数据 CTestView CTestView的函数更新的函数更新CTestDocCTestDoc中的数据中的数据用户退出程序用户退出程序 CTestView CTestView对象被删除对象被删除 CTestDoc CTestDoc对象被删除对象被删除常用的视图类:常用的视图类:(1 1)CViewCView类类 所有视图类的基类所有视图类的基类(2 2)CScrollView CScrollView 带有滚动条的视图类带有滚动条的视图类(3 3)CFormView CFormView 具有无模式对话框特点的类具有无模式对话框特点的类(4 4)CEditView CEditView 可以进行文字输入的类可以进行文字输入的类3.4 CChildFrame3.4 CChildFrame类类重要特性:重要特性:(1 1)由)由MFCMFC中的类中的类CMDIChildWndCMDIChildWnd派生来。派生来。(2 2)是)是CTestViewCTestView的父窗口。的父窗口。3.5 3.5 小结小结应用程序框架中类与文件的关系应用程序框架中类与文件的关系文档文档/视图框架的结构及其操作视图框架的结构及其操作4 4个类的主要功能个类的主要功能第第4章章 Microsoft类库基础类库基础 了解了解MFCMFC类库中常用的类。类库中常用的类。4.1 Microsoft4.1 Microsoft类库概述类库概述核心是以核心是以C+C+类的形式封装的类的形式封装的Windows APIWindows API。几乎覆盖了我们通常编程中所用到的所有基本功能。几乎覆盖了我们通常编程中所用到的所有基本功能。我们可以在此基础上派生出我们自己的类,加上所需的特我们可以在此基础上派生出我们自己的类,加上所需的特性和方法,完成具体的任务。性和方法,完成具体的任务。4.2 4.2 根类:根类:CObjectCObject类库中的绝大多数类都由此派生。类库中的绝大多数类都由此派生。该类提供了一些有用的功能,包括数据序列化、对象赋值、该类提供了一些有用的功能,包括数据序列化、对象赋值、类的兼容、类的运行时信息等。类的兼容、类的运行时信息等。4.3 MFC4.3 MFC应用程序框架结构类应用程序框架结构类应用与线程支持类应用与线程支持类 CWinApp CWinApp 类类 应用程序类应用程序类 CWinThread CWinThread 类类 线程类线程类命令发送类命令发送类 CCmdTarget CCmdTarget类类 封装了封装了MFCMFC消息映射机制,可以接受消息映射机制,可以接受消息,并对消息作出响应。消息,并对消息作出响应。CCmdUI CCmdUI类类 用于更新用户接口对象的可编程界面用于更新用户接口对象的可编程界面4.3 MFC4.3 MFC应用程序框架结构类应用程序框架结构类文档类文档类 Cdocument Cdocument 文档类的基类文档类的基类 COleDocuent COleDocuent 封装了包容器支持的功能封装了包容器支持的功能 COleLinkingDoc COleLinkingDoc 支持嵌入对象的链接支持嵌入对象的链接 COleSeverDoc COleSeverDoc 是服务器应用文档类的基类是服务器应用文档类的基类文档模板类文档模板类 CDocTemplate CDocTemplate 文档模板的基类文档模板的基类 CMultiDocTemplate CMultiDocTemplate 多文档界面(多文档界面(MDIMDI)中的文档模板)中的文档模板 CSingleDocTemplate CSingleDocTemplate 单文档界面(单文档界面(SDISDI)中的文档模板)中的文档模板4.4 MFC4.4 MFC窗口类窗口类窗口支持类:窗口支持类:CWnd CWnd 所有窗口类的基类所有窗口类的基类框架窗口类框架窗口类 CFrameWnd CFrameWnd 框架窗口类的基类框架窗口类的基类 CMDIFrameWnd MDI CMDIFrameWnd MDI程序的框架窗口类程序的框架窗口类 CMDIChildWnd MDI CMDIChildWnd MDI程序的子框架窗口类程序的子框架窗口类 CMiniFrameWnd CMiniFrameWnd COleIPFrameWnd COleIPFrameWnd CMenu CMenu4.4 MFC4.4 MFC窗口类窗口类视图类视图类 CScrollView CScrollView CFormView CFormView CDaoRecordView CDaoRecordView CRecordView CRecordView4.4 MFC4.4 MFC窗口类窗口类控件类控件类 CStatic CStatic CEdit CRichEditCtrl CEdit CRichEditCtrl CScrollBar CButton CListBox CComboBox CScrollBar CButton CListBox CComboBox CTreeView CToolBarCtrl CStatusBarCtrl CTreeView CToolBarCtrl CStatusBarCtrl4.4 MFC4.4 MFC窗口类窗口类控制栏类控制栏类 CContolBar CContolBar CDialogBar CDialogBar CToolBar CToolBar CStatusBar CStatusBar4.4 MFC4.4 MFC窗口类窗口类对话框类对话框类 CDialog CDialog类类 CDataExchange CDataExchange CCommonDialog CCommonDialog C CColorDialog CFontDialog C CColorDialog CFontDialog CFindReplaceDialog CPrintDialog CFindReplaceDialog CPrintDialog CPageSetupDialog CPageSetupDialog4.5 MFC4.5 MFC异常类异常类调试支持类调试支持类 CDumpContext CDumpContext 提供存放上下文环境堆功能提供存放上下文环境堆功能 CMemoryState CMemoryState 提供了供内存使用的快照的结构功能提供了供内存使用的快照的结构功能异常类异常类 CException CException 所有异常类的基类所有异常类的基类 CArchiveException CArchiveException 文档归档异常管理类文档归档异常管理类 CDaoException CDaoException 处理处理DAODAO数据库运行失败引起的异常数据库运行失败引起的异常 CDBException CDBException 处理处理ODBCODBC数据库运行失败引起的异常数据库运行失败引起的异常 C C 处理文件异常处理文件异常 CMemoryException CMemoryException 处理内存异常处理内存异常 CNotSupportedException CNotSupportedException 处理不支持功能引起的异常处理不支持功能引起的异常 COleException COleException 处理处理OLEOLE处理败引起的异常处理败引起的异常 CResourceException CResourceException 处理由装载资源失败引起的异常处理由装载资源失败引起的异常4.6 MFC4.6 MFC文件类文件类CFileCFile文件类文件类 文件类的基类文件类的基类CStdioFile CStdioFile 提供对缓冲流磁盘文件提供的操作。提供对缓冲流磁盘文件提供的操作。CMemFileCMemFile文件类文件类 提供对内存文件提供的操作提供对内存文件提供的操作CShareFile CShareFile 提供对共享内存文件提供的操作提供对共享内存文件提供的操作COleStreamFile COleStreamFile CSocketFileCSocketFile4.7 4.7 绘图与打印类绘图与打印类输出(设备上下文)类输出(设备上下文)类 CDC CDC类类 设备上下文类的基类设备上下文类的基类 CPaintDC CPaintDC类类 OnPaint OnPaint函数中使用的设备上下文类函数中使用的设备上下文类 CClientDC CClientDC类类 支持窗口客户区的显示相关的操作支持窗口客户区的显示相关的操作 CWindowDC CWindowDC类类 支持与整个窗口的显示相关的操作支持与整个窗口的显示相关的操作 CMetaFileDC CMetaFileDC类类 支持图元文件的设备上下文操作支持图元文件的设备上下文操作输出相关类输出相关类 CPoint CPoint类类 支持对坐标值的操作支持对坐标值的操作 CSize CSize类类 支持对距离、相关位置或坐标值的操作支持对距离、相关位置或坐标值的操作 CRect CRect类类 支持对矩形区的坐标值的操作支持对矩形区的坐标值的操作 CRgn CRgn类类 支持对区域的操作支持对区域的操作4.7 4.7 绘图与打印类绘图与打印类绘图工具类绘图工具类 CGdiObject GDI CGdiObject GDI绘图工具的基类,一般不能直接使用绘图工具的基类,一般不能直接使用 CBitmap CBitmap 提供位图的操作接口提供位图的操作接口 CBrush CBrush 画刷类画刷类 CPen CPen 画笔类画笔类 CFont CFont 字体类字体类 Cpalette Cpalette 调色板类调色板类4.8 ODBC4.8 ODBC类类CDatabase CDatabase 提供访问数据源的操作提供访问数据源的操作CRecordSet CRecordSet 处理从数据源中选择的记录集处理从数据源中选择的记录集CRecordView CRecordView 处理显示记录集的窗体视图处理显示记录集的窗体视图CFieldExchange CFieldExchange 支持记录字段交换支持记录字段交换CLongBinary CLongBinary 处理二进制大型对象处理二进制大型对象4.9 4.9 小结小结MFCMFC类库包含了类库包含了200200多个类多个类 根据需要选择使用不同的类根据需要选择使用不同的类第第5章章 菜单、菜单、ClassWizard与与消息映射消息映射 掌握如何实现菜单,如何使用掌握如何实现菜单,如何使用ClassWizardClassWizard以及了解消息以及了解消息映射的原理和应用。映射的原理和应用。5.1 5.1 编辑菜单资源编辑菜单资源5.1.1 5.1.1 系统生成的菜单系统生成的菜单5.1.2 5.1.2 菜单的编辑菜单的编辑5.2 ClassWizard5.2 ClassWizard简介简介Message Maps:Message Maps:管理消息映射和成员函数管理消息映射和成员函数Member Variables:Member Variables:管理数据成员管理数据成员Automations:Automations:提供支持提供支持OLE 2.0OLE 2.0的特性的特性ActiveX Events:ActiveX Events:处理处理ActiveXActiveX控件控件Class Info:Class Info:查看类的属性查看类的属性5.3 5.3 建立消息映射建立消息映射5.4 5.4 增强菜单项增强菜单项5.5 5.5 工具栏的编辑工具栏的编辑5.6 5.6 小结小结第第6章章 对话框对话框 掌握如何定义和使用对话框。掌握如何定义和使用对话框。6.1 6.1 定义对话框定义对话框6.2 6.2 增加对话框的功能增加对话框的功能6.3 6.3 弹出对话框弹出对话框6.4 6.4 运行程序运行程序为更好满足学习和使用需求,课件在下载后自由编辑,请根据实际情况进行调整Thank you for watching and listening.I hope you can make great progress
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!