Salut
oui, j ai fait aussi une selle
Function mais sa marche
pas bien :
procedure TForm1.MsgHandler(
var Msg: TMsg;
var Handled: Boolean);
const StdKeys
= [VK_BACK, VK_UP, VK_DOWN, VK_LEFT, VK_RIGHT];
var IOIPAO: IOleInPlaceActiveObject;
Dispatch: IDispatch;
begin if ActiveWebBrowser
=nilthen begin Handled :
= false;
Exit;
end;
Handled :
= (IsDialogMessage(ActiveWebBrowser.
Handle, Msg)
= True);
if (Handled)
and (
not ActiveWebBrowser.Busy)
then begin if FOleInPlaceActiveObject
=nilthen begin Dispatch :
= ActiveWebBrowser.Application;
if Dispatch <>
nilthen begin Dispatch.QueryInterface(IOleInPlaceActiveObject, IOIPAO);
if IOIPAO <>
nilthen FOleInPlaceActiveObject :
= IOIPAO;
end;
end;
if FOleInPlaceActiveObject <>
nilthen if ((Msg.
message= WM_KEYDOWN)
or (Msg.
message= WM_KEYUP))
and (Msg.wParam
in StdKeys)
then //nothing - do not pass on Backspace, Left, Right, Up, Down arrows else FOleInPlaceActiveObject.TranslateAccelerator(Msg);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
beginApplication.OnMessage :
= MsgHandler;
ActiveWebBrowser:
= WebBrowser1;
end;
procedure TForm1.PageControl1Change(Sender: TObject);
beginif PageControl1.ActivePage=TabSheet1
then// damit kein Error wenn treeview (kap) versteckt.beginActiveWebBrowser:
= WebBrowser1;
end;
if PageControl1.ActivePage=TabSheet2
thenbeginActiveWebBrowser:
= WebBrowser2;
end;
end;