Bienvenue sur les forums conseil & création · S'enregistrer

Se connecter automatiquement

Forums » Programmation » Delphi Probleme avec un navigateur par onglet · Envoyer le lien

Par fred62, le 19 Déc 2008, 07:56 Revenir en haut de page Répondre en citant

Bonjour à tous.
Voila mon problème : j'ai créer un navigateur internet par onglet. Vous savez peut être que la touche "Entrée" n'est pas active dans un TWebbrowser. Après une recherche, j'ai trouver le code suivant en mettant sur la fiche un "ApplicationEvent" :

var
iOIPAO: IOleInPlaceActiveObject;
Dispatch: IDispatch;
begin
if (WebBrowser1 = nil) then begin
Handled := False; Exit;
end;

Handled := (IsDialogMessage(WebBrowser1.Handle, Msg) = True);

if (Handled) and (not WebBrowser1.Busy) then begin
if FOleInPlaceActiveObject = nil then begin
Dispatch := WebBrowser1.Application;
if Dispatch <> nil then begin
Dispatch.QueryInterface (IOleInPlaceActiveObject, iOIPAO);
if iOIPAO <> nil then
FOleInPlaceActiveObject := iOIPAO;
end;
end;
if FOleInPlaceActiveObject <> nil then
if not (((Msg.message = WM_KEYDOWN) or (Msg.message = WM_KEYUP)) and
((Msg.wParam = VK_BACK) or (Msg.wParam = VK_LEFT) or (Msg.wParam = VK_RIGHT)))
then FOleInPlaceActiveObject.TranslateAccelerator (Msg);
end;

end;

Avec un webbrowser simple, ça fonctionne...Avec les onglets (pagecontrol, TTabsheet, et Twebbrowser créer dynamiquement), la nouvelle page s'affiche, mais lorsque je la ferme, un message d'erreur s'affiche, et l'application bloque ! Je retire "applicationEvent" ainsi que le code, et tout refonctionne, mais bien sûr, la touche "Entrée" n'est plus gerer sur les page web ! Si quelqu'un à une solution, merci d'avance !

Forums » Programmation » Delphi Probleme avec un navigateur par onglet · Envoyer le lien