使用CHtmlView创建Web浏览器及事件处理

需积分: 10 29 下载量 33 浏览量 更新于2024-08-23 收藏 372KB PPT 举报
"为控件添加事件处理函数-利用CHtmlView类创建Web浏览器" 在MFC框架中,创建一个Web浏览器应用通常涉及到使用`CHtmlView`类,它是一个从`CView`派生的类,包含在`afxhtml.h`头文件中。`CHtmlView`类的主要作用是提供对WebBrowser控件的访问和控制,允许在应用程序中浏览Web内容和HTML文档。`WebBrowser`控件是Microsoft OLE自动化的一部分,它支持通过超链接和URL进行网页导航,使应用程序能够具有类似Web浏览器的功能。 为了实现用户交互,我们需要为界面中的控件添加事件处理函数。例如,当用户点击菜单项或按钮时,程序应该做出相应的响应。这可以通过MFC的类向导完成。在类向导的"Message Maps"选项卡中,选择`CMyWebView`类,并根据表9.2为不同的控件指定对应的事件处理函数: - 对象ID `ID_FOWARD`:对应消息 `COMMAND`,成员函数 `OnFoward()`,用于实现前进操作。 - 对象ID `ID_BACK`:对应消息 `COMMAND`,成员函数 `OnBack()`,用于实现后退操作。 - 对象ID `ID_STOP`:对应消息 `COMMAND`,成员函数 `OnStop()`,用于停止当前页面加载。 - 对象ID `ID_UPDATE`:对应消息 `COMMAND`,成员函数 `OnUpdate()`,可能用于更新界面状态。 - 对象ID `ID_HOMEPAGE`:对应消息 `COMMAND`,成员函数 `OnHomepage()`,用于导航到主页。 - 对象ID `ID_SEARCH`:对应消息 `COMMAND`,成员函数 `OnSearch()`,用于执行搜索操作。 `CHtmlView`类提供了一系列的成员函数来控制和访问Web内容,包括但不限于: 1. 获取和设置属性的成员函数: - `GetType()`:返回WebBrowser控件的类型信息。 - `GetLeft()`, `SetLeft()`:获取和设置控件的左边位置。 - `GetTop()`, `SetTop()`:获取和设置控件的上边位置。 - `GetHeight()`, `SetHeight()`:获取和设置控件的高度。 - `GetVisible()`, `SetVisible()`:获取和设置控件的可见性。 2. 主要的操作成员函数: - `GoBack()`:导航到历史记录中的前一个页面。 - `GoForward()`:导航到历史记录中的下一个页面。 - `GoHome()`:跳转到在Internet Explorer属性中设置的主页。 - `GoSearch()`:导航到当前的搜索页面。 - `Refresh()`:刷新当前显示的URL或文件。 - `Stop()`:停止当前的页面加载。 除了上述函数,`CHtmlView`类还有其他一些成员函数,如`Navigate()`, `Navigate2()`等,用于直接导航到指定的URL,以及`Document()`,用于访问WebBrowser控件内的HTML文档对象。 `CHtmlView`类是构建Web浏览器型MFC应用程序的核心,通过它,开发者可以轻松地集成Web浏览功能,并通过事件处理函数控制用户的交互行为,实现丰富的应用逻辑。