当前位置: 代码迷 >> Web前端 >> 使用 WebBrowser 控件怎么防止某些网页强行最大化
  详细解决方案

使用 WebBrowser 控件怎么防止某些网页强行最大化

热度:803   发布时间:2012-07-23 09:42:19.0
使用 WebBrowser 控件如何防止某些网页强行最大化

使用 WebBrowser 控件如何防止某些网页强行最大化
2009年08月27日
  其他 VB 文章 VB 小程序
  58.使用 WebBrowser 控件如何防止某些网页强行最大化
  有些网页很讨厌,强行最大化充满了整个窗口,与工具栏等控件重叠在一起,或遮住了自己设置的控件。如何避免这种情况呢?我是这样做的:
  在 WebBrowser1 的 DownloadComplete 事件中检测网页元素总个数,如果元素总个数发生了变化,第一次调用 Form_Resize 将控件宽度设置为比正常宽度稍少一点,然后再次调用 Form_Resize 将控件宽度设置为正常状态。
  有关代码如下:
  dim nCount As Long,nSmall as Boolean
  Private Sub WebBrowser1_DownloadComplete()  Dim  S As Long
  On Error Resume Next
  S = WebBrowser1.Document.All.length
  If nCount = S Then exit sub
  nCount = S
  ctSmall = True: Call Form_Resize '将控件宽度缩小一点
  ctSmall = False: Call Form_Resize '将控件宽度调整为正常状态
  end subPrivate Sub Form_Resize()
  Dim L As Long, T As Long, H As Long, W As Long
  T=300
  W = Me.ScaleWidth: H = Me.ScaleHeight - T
  If ctSmall Then W = W - 30 '比正常宽度少 2 个像素
  If H > 0 And W > 0 Then WebBrowser1.Move L, T, W, H
  End Sub
  另外,在显示新网页时,也就是调用 Navigate 方法前,应将变量 nCount 位为 0,如下所示:
  nCount = 0
  WebBrowser1.Navigate nURL
  这样做的缺点是,网页加载时,宽度有一个缩小又变回正常状态的过程。
  不过,这种变化并不明显。
  其他 VB 文章  VB 小程序
  相关解决方案