计算机图形学---第7章 框架窗口、文档和视图.pptVIP

计算机图形学---第7章 框架窗口、文档和视图.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机图形学---第7章 框架窗口、文档和视图

第7章 框架窗口、文档和视图 7.1框架窗口 7.2文档及其序列化 7.3视图及视图类 7.4文档视图结构 第7章 框架窗口、文档和视图 7.1框架窗口 7.2文档及其序列化 7.3视图及视图类 7.4文档视图结构 7.1框架窗口 (1 of 4) 框架窗口实际上就是主窗口。 7.1.1主窗口和文档窗口 主窗口是应用程序直接放置在桌面上的那个窗口,每个应用程序只能有一个主窗口,主窗口的标题栏上往往显示应用程序的名称。 对于SDI程序来说,文档窗口和主窗口是一致的,即主窗口就是文档窗口;而对于MDI程序,文档窗口是主窗口的子窗口,如图。 7.1框架窗口 (2 of 4) 7.1.2窗口风格的设置 (标题栏中的内容、有无工具栏、有无菜单等等) 窗口风格 窗口风格通常有一般和扩展两种形式。这两种形式的窗口风格可由函数CWnd::Create或CWnd::CreateEx的参数来设定。 说明:对于控件和对话框这样的窗口来说,由于他们都存在各自的编辑器,所以它们的窗口风格可直接在编辑的时候,通过其属性对话框来进行设置。 7.1框架窗口 (3 of 4) 对于单文档应用程序,可以用MFC AppWizard设置窗口风格:在第四步中,单击“高级”按钮,可以进行设置。 7.1框架窗口 (4 of 4) 7.1.3 窗口状态的改变:初始状态(最大化、最小化等等) 用ShowWindow改变窗口的显示状态 当一个新的应用程序创建之后,InitInstance函数总会调用ShowWindow函数来显示窗口。 想要改变窗口显示状态,只需根据上表选择所需的参数值,调用ShowWindow函数就可达到目的。下面的代码是将窗口的初始状态设置为“最小化”: BOOL CEx_SdiApp::InitInstance() { ... m_pMainWnd-ShowWindow(SW_SHOWMINIMIZED); m_pMainWnd-UpdateWindow(); return TRUE; } 第7章 框架窗口、文档和视图 7.1框架窗口 7.2文档及其序列化 7.3视图及视图类 7.4文档视图结构 7.2文档及其序列化 (1 of 10) 7.2.1 SDI中对文档的操作以及文档的序列化过程 新建文档 当调用CWinApp类中的成员函数OnFileNew时,将依次完成下列工作: (1) 构造文档对象,但并不从磁盘中读数据。 (2) 构造主框架类CMainFrame的对象,并创建该主框架窗口,但不显示。 (3) 构造视图对象,并创建视图窗口,也不显示。 (4) 通过内部机制,使文档类、主框架类和视图类的“对象”之间“真正”建立联系。 (5) 调用文档对象的CDocument::OnNewDocument虚成员函数(MFC AppWizard为用户在文档类中自动产生OnNewDocument虚函数的重载,用户利用此函数框架可以对文档对象进行初始化),并调用CDocument:: DeleteContents(清除文档对象的内容)虚函数。 (6) 调用视图对象的CView::OnInitialUpdate虚成员函数。 (7) 调用框架对象的CFrameWnd::ActiveFrame虚成员函数,显示出具有菜单、工具栏、状态栏以及视图窗口的主框架窗口。 7.2文档及其序列化 (2 of 10) 打开文档 MFC AppWizard创建应用程序时,它会自动将“文件(File)”菜单中的“打开(Open)”命令(ID号为ID_FILE_OPEN)映射到CWinApp的OnFileOpen成员函数。对应的消息映射为: BEGIN_MESSAGE_MAP(CEx_SdiApp, CWinApp) …… ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew) ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen) // Standard print setup command ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup) END_MESSAGE_MAP() OnFileOpen函数会完成如下一些工作: (1) 弹出通用“打开”对话框,供用户选择一个文件。 (2) 调用文档对象的CDocument:: OnOpenDocument虚成员函数。该函数将打开文件,并调用DeleteContents清除文档对象的内容,然后创建一个CArchive对象用于数据的读取,接着又自动调用Serialize函数。 (3)

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档