• 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

  • 相关阅读:
    “==” 和 Equals()
    数据持久层的设计
    Jquery Validation :多个按钮都需要做提交验证的解决方案
    留住异常的堆栈信息【throw ex 和 throw 的区别】
    [转] eval() may be evil
    框架结构和脚本跨域的问题
    ue4 材质MipLevels
    spring+json+jquery
    a different object with the same identifier value was already associated with the session错误
    kali 更新国内apt源 (转)
  • 原文地址:https://www.cnblogs.com/dahai/p/2196556.html
Copyright © 2020-2023  润新知