如何取消TWebBrowser 控件使用中的关闭功能(100分)

  • 主题发起人 主题发起人 z1w2x3
  • 开始时间 开始时间
Z

z1w2x3

Unregistered / Unconfirmed
GUEST, unregistred user!
我在应用中嵌入了浏览器,也就是说,浏览器不是一个单独的窗口,占应用界面的一部分,
如果用户浏览的页面中有“关闭窗口”指令,即:javascript:window.close,程序就会删除
Twebbrowser对象,而其它空间又引用了这个对象,如何阻止window.close关闭此对象。
 
看这里http://eagleboost.myrice.com-资料库找
最新版的TWebBrowser,可以响应WindowClose事件,由你
控制是否关闭它。
 
声明一个procedure
procedure ApplicationMessage(var Msg: TMsg; var Handled: Boolean);

procedure tfrmhtmlbrowser.ApplicationMessage(var Msg: TMsg; var Handled: Boolean);
var
wb: tembeddedwb;
begin
WB := GetVisibleWebBrowser;//就是取当前webbrowser啦
if (Msg.message = WM_CLOSE) and (Msg.hwnd = Wb.Handle) then //如果是当前 //webbrowser关闭的话
begin
closebtnclick(Self);
end
else
inherited;
end; //end applicaitonmessage
 
刚才少了一句
在form create的时候要
Application.OnMessage := ApplicationMessage;
 
to CathEagle:
我下载了IeEvents.dpk并安装后,如何使用Dwebbrowser组件呢?如何将它和我要关闭的浏览器
联系起来呢?
 
To z1w2x3:
  Sorry,我忘了写一个Demo放上去。
  不过DWebBrowser是用来控制IE的自动化控件,对你的程序帮助不大。
  你应该用TWebBrowser,和Delphi自带的TWebBrowser比较一下就知道了,
多了几个事件,你在OnWindowClosing中编写代码即可。
 
to catheagle:
你那里有下载的新Twebbrowser组件吗?如有,给我EMAIL一份,我从那个站点下载时总是出错。

谢谢!
 
to hanghs:
谢谢回答
 
后退
顶部