WebBrowser Control(二)DWebBrowserEvents2

  • DWebBrowserEvents2 是一个事件接口D 开头的命名是表示这是派遣接口(IDispatch 接口)。不同于普通接口, 派遣接口没有vtable
  • WebBrowser通过IDispatch::Invoke调用客户的实现,传递被激发事件的DISPID。
  • WebBrowser事件
    • BeforeNavigate2:在导航之前发生(刷新不激发此事件)。
    • NavigateComplete2:当整个导航完成时,该事件对应于BeforeNavigate2。
    • CommandStateChange:当命令状态改变时发生。该事件告诉你何时使能或者禁止Back 以及Forward 菜单或者按钮.
    • DocumentComplete:当整个文档完全完成装载时发生。如果你刷新页面,此事件并不激发。
    • DownloadBegin:当下载项目开始时候发生,此事件也在你刷新(IWebBrowser2::Refresh)时发生。
    • DownloadComplete:当整个下载项目完成时发生,该事件也发生在完成刷新页面时。
    • NewWindow2:在一个新的窗口被创建以显示Web页或者其他资源的时候发生。譬如在页面中以新建窗口的方式打开一个连接。
    • OnFullScreen:当FullScreen 属性被改变时发生.此事件携带一个VARIANT_ BOOL类型的输入参数指示Internet Explorer 是处于全屏(full-screen)模式 (VARIANT_TRUE) 或者处于普通模式(VARIANT_FALSE)。
    • OnMenuBar:菜单条MenuBar 属性被改变的时候发生。一个VARIANT_ BOOL类型的输入参数指  Internet Explorer的菜单条属性是可见(VARIANT_TRUE) 或者隐藏 (VARIANT_ FALSE).
    • OnQuit:当Internet Explorer正在退出时发生。该事件当用户关闭浏览器或者调用Quit 方法。
    • OnStatusBar:当StatusBar属性被改变的时候发生。事件携带VARIANT_ BOOL类型的输入参数 指示Internet Explorer的状态条是否可见 (VARIANT_TRUE) 或者隐藏 (VARIANT_FALSE)。
    • OnTheaterMode:当TheaterMode 属性被改变时发生。事件携带VARIANT_ BOOL类型的输入参数指示Internet Explorer的状态条是否可见 (VARIANT_TRUE) 或者隐藏 (VARIANT_FALSE)。
    • OnToolBar:当ToolBar属性被改变时发生。事件携带VARIANT_ BOOL类型的输入参数指示Internet Explorer的状态条是否可见 (VARIANT_TRUE) 或者隐藏 (VARIANT_FALSE)。
    • OnVisible:当WebBrowser将被显示或者隐藏时发生。 事件携带VARIANT_ BOOL类型的输入参数 指示Internet Explorer的状态条是否可见 (VARIANT_TRUE) 或者隐藏 (VARIANT_FALSE).
    • ProgressChange:当下载进度更新时发生。
    • PropertyChange:当属性改变时候发生。典型的,当PutProperty 方法被调用时。
    • StatusTextChange:Internet Explorer和WebBrowser控件改变状态条时候发生。即使webbrowser控件没有状态条。StatusTextChange 给客户一个改变状态条的机会。
    • TitleChange:当文档对象的title可用或者改变时发生。
  • 事件发生顺序
    • 下图展示了IE的事件发生序列.但这仅仅为不包含帧的普通网页浏览. (没有包含诸如ProgressChange, CommandStateChangeOnToolBar, 等等事件.)不是所有事件都会被激发. 但是BeforeNavigate2 和DocumentComplete 每次浏览都会被激发。
    • 参考:http://blog.csdn.net/shanhe/article/details/451681

原文地址:https://www.cnblogs.com/dahai/p/2196556.html