Visual C++大学教程 教学课件 ppt 作者 冯博琴 第6章 文档视图应用程序

上传人:E**** 文档编号:89398439 上传时间:2019-05-24 格式:PPT 页数:59 大小:1.65MB
返回 下载 相关 举报
Visual C++大学教程 教学课件 ppt 作者  冯博琴 第6章  文档视图应用程序_第1页
第1页 / 共59页
Visual C++大学教程 教学课件 ppt 作者  冯博琴 第6章  文档视图应用程序_第2页
第2页 / 共59页
Visual C++大学教程 教学课件 ppt 作者  冯博琴 第6章  文档视图应用程序_第3页
第3页 / 共59页
Visual C++大学教程 教学课件 ppt 作者  冯博琴 第6章  文档视图应用程序_第4页
第4页 / 共59页
Visual C++大学教程 教学课件 ppt 作者  冯博琴 第6章  文档视图应用程序_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《Visual C++大学教程 教学课件 ppt 作者 冯博琴 第6章 文档视图应用程序》由会员分享,可在线阅读,更多相关《Visual C++大学教程 教学课件 ppt 作者 冯博琴 第6章 文档视图应用程序(59页珍藏版)》请在金锄头文库上搜索。

1、第6章 文档/视图应用程序,6.1 构建文档/视图应用程序 (1)启动Visual C+6.0集成开发环境,单击菜单栏中的“File”/“New”命令,打开New窗口,如图6.1所示。,图6.1 New对话框,(2)在New窗口中选择Projects选项卡, 在列表中选择MFC AppWizardexe项, 在Project name文本框中输入工程名CMyVeiw,在Location文本框中设置 工程文件存放的位置为“C: CMyVeiw”。,(3)单击OK按钮,打开MFC AppWizard - Step1窗口,如图6.2所示。,图6.2 MFC应用程序向导,(4)选择Single doc

2、ument选项,创建一个单文档视图应用程序,单击Finish按钮完成应用程序的创建。 (5)运行程序,效果如图6.3所示。,图6.3 程序运行结果,6.2 视 图 分 割,6.2.1 划分子窗口 程序设计具体步骤如下。 (1)创建一个单文档/视图结构应用程序。,(2)在框架类中定义一个CSplitterWnd类对象m_wndSplitter。,(3)在工作区的类视图窗口中鼠标右键单击框架类(本例为CMainFrame),在弹出的快捷菜单中选择“Add Virtual Function”菜单项,打开框架类的虚方法窗口,如图6.4、图6.5所示。,图6.4 工作区窗口,图6.5 虚方法窗口,(4)

3、在虚方法窗口中的“New Virtual Functions”列表中双击“OnCreateClient”选项,将其添加到右边的“Existing virtual function overrides”列表中,单击“Add and Edit”按钮,编辑“OnCreateClient” 函数,代码如下:,BOOL CMainFrame:OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) /将窗口分为1行2列 if (!m_wndSplitter.CreateStatic(this, 1, 2) return FALSE; ,i

4、f (!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CSplitWndView), CSize(400,100), pContext) /创建第1行第1列的视图窗口 | !m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CSplitWndView), CSize(400, 100), pContext) /创建第1行第2列的视图窗口 ,m_wndSplitter.DestroyWindow(); return FALSE; return TRUE; / return CFrameWnd:OnCreateCl

5、ient(lpcs, pContext); ,(5)按F5键编译并运行程序,发现程序无法编译,并出现如图6.6所示的提示信息。,图6.6 输出窗口1,再次按F5键编译并运行程序,发现程序仍然无法编译,出现如图6.7所示提示信息。,图6.7 输出窗口2,图6.8 代码编辑窗口,图6.9 划分子窗口,6.2.2 任意划分子窗口,程序设计步骤如下。 (1)创建一个单文档/视图结构的应用程序。,(2)鼠标右键单击工作区中类视图的根节点,在弹出的快捷菜单中选择“New Form”菜单项,打开新建窗体窗口,如图6.10所示。,图6.10 新建窗体窗口,(3)在“Name”编辑框中输入视图窗口 名称,本例为

6、“CPartView”,单击“OK”按钮创建窗口。 (4)按照步骤2、步骤3的方式创建视图窗口CRunView。,(5)在工作区的资源视图窗口中单击根节点,在弹出的快捷菜单中选择“Import”菜单项,打开导入资源窗口,如图6.11所示。,图6.11 导入资源窗口,(6)在“文件类型”组合框中选择“所有文件(*.*)”选项,然后选择两个位图文件,单击“Import”按钮将其导入到当前工程中。,(7)在工作区的类视图窗口中鼠标右键单击视图类CPartView,在弹出的快捷菜单中选择“Add Windows Message Hander”菜 单项,打开CPartView类的消息处理窗口,处理“WM

7、_PAINT”消息,如图6.12、图6.13所示。,图6.12 类视图窗口,图6.13 CPartView类消息处理窗口,(8)在CPartView类消息处理窗口中的左边列表中双击“WM_PAINT”消息,将其添加到右面的列表中,单击“Add and Edit”按钮编写消息处理代码。,(9)按照(7)、(8)的方式处理CRunView视图窗口的WM_PAINT消息。,(10)在框架类中定义两个CSplitterWnd,分别作为分割的父窗口和子窗口。,(11)在框架类的源文件中引用CPartView的头文件和CRunView的头文件,目的是在框架类的源文件中使用CPartView类和CRunVi

8、ew类。,(12)在应用程序的InitInstance方法中将如下代码注释掉,防止在程序运行时弹出视图选择窗口。,(13)改写框架类的OnCreateClient方法,分割窗口。 (14)运行程序,效果如图6.14所示。,图6.14 任意划分子窗口,6.3 视图窗口高级应用,6.3.1 隐藏视图创建选择窗口 如何能够在程序运行时不显示“新建”窗口呢?用户可以按照6.2.2节任意划分子 窗口步骤12的方式来隐藏“新建”窗口。,此外,用户也可以通过在工作区的资源视图中的字符串表中设置视图窗口对象的字符串ID的内容为空格来实现,如图6.16所示。,图6.16 字符串表格,如何根据需要动态创建视图窗口

9、呢?具体步骤如下。 (1)定义一个视图窗口对象,调用Create方法创建视图窗口。,(2)调用视图窗口的OnInitialUpdate方法初始化更新视图。 (3)调用视图窗口的SetDlgCtrlID方法设置视图窗口在框架中的ID。,(4)调用框架类的GetActiveView方法获取当前的视图窗口,将其隐藏。 (5)调用框架类的SetActiveView方法设置新的活动视图窗口。,(6)显示新的视图窗口,调用框架类的RecalLayout方法重新排列客户区域。,程序设计步骤如下。 (1)创建一个单文档/视图结构的应用程序。,(2)利用工作区的类视图向导创建一个视图窗口CBookInfo,删除

10、视图窗口中默认的静态文本控件,设置窗口属性如图6.17所示。,图6.17 属性窗口,(3)在框架类的源文件中引用视图类CBookInfo的头文件。 (4)在工作区的资源视图窗口的字符串表中删除视图窗口对应的ID。,(5)在工作区的资源视图窗口中修改菜单资源“IDR_MAINFRAME”,如图6.18所示。,图6.18 菜单资源设计窗口,(6)在框架类的源文件中按Ctrl+W组合键打开类向导窗口,处理菜单项的命令消息,如图6.19所示。,图6.19 类向导窗口,(7)在类向导窗口中的“Object IDs”列表中选择菜单项的ID,在“Messages”列表中选择命令消息“COMMAND”,单击“

11、Add Function”按钮添加消息处理函数。 (8)运行程序,效果如图6.20所示。,图6.20 动态创建视图窗口,6.3.3 在视图窗口中显示网页,在文档/视图结构应用程序中,MFC提供了多个视图类供用户在开发程序中使用。 其中,提供的CHtmlView视图类能够浏览网页。 MFC为视图类CHtmlView提供了一个Navigate2方法用于浏览网页,该方法语法如下:,void Navigate2( LPITEMIDLIST pIDL, DWORD dwFlags = 0, LPCTSTR lpszTargetFrameName = NULL ); void Navigate2( LPCTSTR lpszURL, DWORD dwFlags = 0, LPCTSTR lpszTargetFrameName = NULL,LPCTSTR lpszHeaders = NULL, LPVOID lpvPostData = NULL, DWORD dwPostDataLen = 0 ); void Navigate2( LPCTSTR lpszURL, DWORD dwFlags, CByteArray,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号