对话框上面有个cwerbbrowser控件。
当控件加载下面页面时,点击了页面上的BUTTON按钮,浏览器控件变小了,对话框要怎么感知这个变小事件呢?<script>
function show() {
window.resizeTo(250,250)
}
</script>
<html>
<body>
   <button onclick=show()></button>
</body>
</html>我的目的:对话框的大小随着网页大小的改变而改变!
1.cwerbbrowser控件作为对话框的元素,当cwerbbrowser改变大小,它需要重绘吧,我们能不能在对话框判断出这个事件发生了?(捕获控件大小改变消息)
2.GOOGLe一番,对resizeTo()事件,用到了一些cwerbbrowser COM接口,这是我比较回避的实现方法。对COM,现在水平,太棘手了。
3.CWERBBROWSER还有什么比较合理的事件,让对话框感知,借此事件做出相应的处理。让对话框随着WEB控件改变而改变。
这个问题,困恼了一段时间。
请教各位。最多只能放100分,等问题解决了,会补上200分。:)
先谢谢~

解决方案 »

  1.   

    不想用COM的话,就捕获浏览器窗口的消息吧,找到类名为“Internet Explorer_Server”的子窗口,子类化它,捕获WM_SIZE消息,在这里计算控件的实际大小。
      

  2.   

    DWebBrowserEvents2::WindowSetWidth
    DWebBrowserEvents2::WindowSetHeight
    DWebBrowserEvents2::WindowSetLeft
    DWebBrowserEvents2::WindowSetTop
    DWebBrowserEvents2::WindowSetResizable
      

  3.   

    >jiangsheng  谢谢。
    我的理解这些函数是主动改变浏览器大小。我想要的是很,它被改变的时候,我就知道。>jameshooo 已经按你的说法实现了一个版本出来。谢谢。
    过天两天结贴,在等等,希望看到别的方法。:)
      

  4.   

    DIID_DWebBrowserEvents2事件处理中判断下,当前WebBroswer的大小,然后调整窗体的大小