新Visual C++大学教程 教学课件 冯博琴 第6章 文档视图应用程序.pptVIP

  • 6
  • 0
  • 约4.01千字
  • 约 60页
  • 2016-10-26 发布于广东
  • 举报

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

(7)在工作区的类视图窗口中鼠标右键单击视图类CPartView,在弹出的快捷菜单中选择“Add Windows Message Hander”菜 单项,打开CPartView类的消息处理窗口,处理“WM_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类和CRunView类。 (12)在应用程序的InitInstance方法中将如下代码注释掉,防止在程序运行时弹出视图选择窗口。 (13)改写框架类的OnCreateClient方法,分割窗口。 (14)运行程序,效果如图6.14所示。 图6.14 任意划分子窗口 6.3 视图窗口高级应用 6.3.1 隐藏视图创建选择窗口 如何能够在程序运行时不显示“新建”窗口呢?用户可以按照6.2.2节任意划分子 窗口步骤12的方式来隐藏“新建”窗口。 此外,用户也可以通过在工作区的资源视图中的字符串表中设置视图窗口对象的字符串ID的内容为空格来实现,如图6.16所示。 图6.16 字符串表格 如何根据需要动态创建视图窗口呢?具体步骤如下。 (1)定义一个视图窗口对象,调用Create方法创建视图窗口。 (2)调用视图窗口的OnInitialUpdate方法初始化更新视图。 (3)调用视图窗口的SetDlgCtrlID方法设置视图窗口在框架中的ID。 (4)调用框架类的GetActiveView方法获取当前的视图窗口,将其隐藏。 (5)调用框架类的SetActiveView方法设置新的活动视图窗口。 (6)显示新的视图窗口,调用框架类的RecalLayout方法重新排列客户区域。 程序设计步骤如下。 (1)创建一个单文档/视图结构的应用程序。 (2)利用工作区的类视图向导创建一个视图窗口CBookInfo,删除视图窗口中默认的静态文本控件,设置窗口属性如图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”,单击“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 baPostedData, LPCTSTR lpszTargetFrameName = NULL,

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档