S
stanely
Unregistered / Unconfirmed
GUEST, unregistred user!
因为我这个webbrowser是动态生成的,而且在form1里面定义了如下:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
var
i:integer;
begin
if msg.message=wm_close then
begin
handled:=true;
for i:=1 to pagecontrol1.PageCount-1 do
begin
if tsobj(pagecontrol1.Pages).Webbrowser.handle=msg.hwnd then
begin
tsobj(pagecontrol1.Pages).Free;
break;
end;
end;
end;
用这个来捕捉用户点了js做的关闭以后的webbrowser自己关闭的消息,并且free掉webbrowser.
tsobj是从TTabsheet继承下来的,webbrowser是他的成员。
但是这样做的时候总会出现错误提示,虽然tsobj被能free掉。
我想是不是能重载webbrowser的windowproc自己处理wm_close和webbrowser的回车消息呢?
如果能,请告诉我怎样做,谢谢!
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
var
i:integer;
begin
if msg.message=wm_close then
begin
handled:=true;
for i:=1 to pagecontrol1.PageCount-1 do
begin
if tsobj(pagecontrol1.Pages).Webbrowser.handle=msg.hwnd then
begin
tsobj(pagecontrol1.Pages).Free;
break;
end;
end;
end;
用这个来捕捉用户点了js做的关闭以后的webbrowser自己关闭的消息,并且free掉webbrowser.
tsobj是从TTabsheet继承下来的,webbrowser是他的成员。
但是这样做的时候总会出现错误提示,虽然tsobj被能free掉。
我想是不是能重载webbrowser的windowproc自己处理wm_close和webbrowser的回车消息呢?
如果能,请告诉我怎样做,谢谢!