读书人

webbrowser怎么捕获页面的window.close

发布时间: 2012-02-12 17:16:33 作者: rapoo

webbrowser如何捕获页面的window.close
webbrowser如何捕获页面的window.close
然后关闭当前form
还有就是delphi中有没有类似java里的this关键字(获得当前对象引用)

[解决办法]
self就是获取当前对象指针。
[解决办法]
楼主是要在页面中的javascript代码是执行window.close()时,关闭主程序吧!
delphi7默认带的TWebBrowser不支持OnWindowClosing事件,自己重新导入一下mshtml和shdocvw两个activex库,安装上,就支持这个事件了。delphi7的twebbrowser使用的是ie5的库,ie6以上的应该都可以。
你搜索一下,网上有卸载TWebBrowser和重新导入TWebBrowser控件的说明。

[解决办法]
换个第三方控件 EmbeddedWB
很好控制
[解决办法]
在窗体上放一个TApplicationEvents控件(在Additional中)
然后在它的OnMessage事件中写如下代码:
if Msg.message = WM_CLOSE then //判断是否关闭消息
begin
if IsChild(Web_Query.Handle, Msg.hwnd) then //验证消息是否WebBrowser发来的(Web_Query就是WebBrowser对象)
Close;
Handled := true;
end;
[解决办法]
楼主你是为了防止网页中的“关闭”按扭,在用户点击后,你的程序报错。

这种问题你在网上可以搜到现成代码。楼上就是其中解决方案之一。

读书人网 >.NET

热点推荐