第3讲 vc++程序设计与开发

第3讲 vc++程序设计与开发

ID:33944291

大小:487.81 KB

页数:16页

时间:2019-03-01

第3讲 vc++程序设计与开发_第1页
第3讲 vc++程序设计与开发_第2页
第3讲 vc++程序设计与开发_第3页
第3讲 vc++程序设计与开发_第4页
第3讲 vc++程序设计与开发_第5页
资源描述:

《第3讲 vc++程序设计与开发》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、VC++程序设计与开发(2)艾骏01082316413aijun@buaa.edu.cn北航工程系统工程系011本讲内容•文档视图结构•使用VC建立一个简单程序的步骤单文档界面与多文档界面SDI的应用程序只有一个窗口单文档界面(SDI)VC的MFC库支持三种不同的多文档界面(MDI)MDI的应用程序每次应用程序可以读写多个文件或基于对话框的应用程序文档,可同时对多个文档进行操作,可以使用AppWizard创建有多个子窗口SDI和MDI界面的应用程序的过程几乎完全一样在创建SDI界面的应用程序时,不生成主CChildFrame类,CMainFrame类的基类为要CFrameWnd

2、差别在创建MDI界面的应用程序时,CMainFrame类的基类为CMDIFrameWnd视图是文档的不同表现形式比如,一个*.html文件,在浏览器里和在记事本中打开的表现形式是不同的,但它们操作的是同一个文件,这由于每一个文档可以有多个视图,但就是一个文档对应两视图每个视图只能对应于一个确定的文档多文档程序需要解决的问题仅仅是多个文档的数据管理方法的问题多文档程序,最初的文档模板只支持主窗口,但每次打开一个新文档时都调用CDocument的函数OnNewDocument,建立一个由CCCMDIChildWnd派生的新的MDI子窗口,这些窗口中保存着各种已打开的文档,所有的细节

3、都由MFC库处理。文档/视图结构文档类通过串行化由此我们可的过程将数据保存以看出,命到磁盘文件或数据库中令消息可以对数据进行管理和维护,被多种对象数据保存在文档类的成文档类还可处理来自如处理,这些员变量中菜单、工具栏按钮和加速键的WMCOMMAND_消息对象除了窗口和视图外,在文档/视图结构中还可以是文除WMCOMMANDWM_COMMAND外,文档不档、文档模能处理其它的Windows消息板或应用程在文档和用户之序本身间起中介作用视图可以直接或间接地访问文档类中的成它可以接收用户的输入员变量,它从文档类,并接受用户的修改中(而不是从存储介质这一点与Windows消息中)将文档

4、中的数据取和控件通知消息不同,出来,然后在屏幕上通过调用文档和视图的接口将修因为WidWindows消息和控显示文档的数据改的信息反馈给文档类,实际的件通知消息就只能被数据更新仍然是由文档来完成的窗口和视图处理。文档/视图结构的工作机制视图通过GetDocument成员函数获得指向相关联的文档对象的指针通过该指针调用文档类的成员函数来从文档中读取数据视图把数据显示于计算机屏幕上用户过户通过与视图的交的交互来查看数据并对数视图通过相关联的文档类的据进行修改成员函数将经过修改的数据传递给文档对象文档对象获得修改过的数据之后,对其进行必要的修改,最后保存到永久介质(如磁盘文件)中文档

5、类CDocument的的般一般方法方法方法说明GetTitle()获得文档标题SetTitle()设置文档标题GetPathName()获得文档数据文件的路径字符串SetPathName()设置文档数据文件的路径字符串GetDocTemplate()获得指向描述文档类型的文档模板的指针AddView()对与文档相关联的视图列表添加指定的视图RVRemoveViiew()()从文档视图列表中删除视图UpdateAllViews()通知所有视图,文档己被修改,它们应该重画DisconnectViews()使文档与视图相分离GetFile()获得指向CFile类型的指针CDocume

6、nt的虚拟方法方法说明OnNewDocument()由MFC调用来建立文档OnOpenDocument()由MFC调用来打开文档OnSaveDocument()由MFC调用来保存文档OnCloseDocument()由MFC调用来关闭文档CanCloseFrame()确定观察文档的框架窗口是否被允许关闭DeleteContents()在未撤消文档对象时删除文档数据ReleaseFile()释放文件以允许其它应用程序使用SaveModified()查询文档的修改状态并存储修改的文档IsModified()确定文档从它最后一次存储后是否被修订过SetModifiedFlag()设置

7、文档从它最后一次存储后是否被修订过的布尔值GetFirstViewPosition()获得视图列表头的位置GetNextView()获得视图列表的下一个视图CDocument类的派生类构造构造CDocument类的派生类的基本步骤一般来说,从CDocument类派生自己的文档类所需的典型步骤为ò为每一个文档类型从CDocument类(当然也可以是其它CDocument类的派生类)派生一个相应的文档类。ò为文档类添加成员变量。这些成员变量用来保存文档的数据,其它对象(如与文档相关联的视图)直接

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。