begin process at 2010 02 09 18:19:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Réseau & Internet

 > 

Internet

 > 

Navigateur par onglet


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Navigateur par onglet

lundi 29 décembre 2008 à 04:52:51 | Navigateur par onglet

frederic6962

Bonjour à tous.
J'ai créer un navigateur par onglet. J'utilise donc un pagecontrol, un TTabsheet et un webbrowser, le tout créer dynamiquement. J'ai inserer sur la fiche un Tapplicationevent afin que la touche "entrée" soit valide dans le TWebbrowser, ainsi que le code suivant :
private
    { Déclarations privées }
  public
  FOleInPlaceActiveObject: IOleInPlaceActiveObject;
 end;

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);

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;

Cela fonctionne très bien dans un Webbrowser simple. Le probleme est que dans les Webbrowser dynamique, cela fonctionne, mais lorsque je ferme un onglet, l'application bloque, et un message d'erreur surviens, du genre "Project1.exe à provoquer une erreur d'exception à l'adresse 00x00000 etc..."
J'ai chercher, en vain, la possibilité de pouvoir activer la touche "entrée" dans chaque Webbrowser crée ! Serait il possible d'employer un autre code, un autre composant que TApplicationEvent, ou alors changer un bout de code dans celui-ci ? A savoir que dans l'exemple cité plus haut, j'ai remplacé tous les "Webbrowser1" par "Browser" qui est la désignation des TWebbrowser créer dynamiquement ( Browser := TWebbrowser.create).
Merci pour les contributions...



Cette discussion est classée dans : end, msg, if, then, foleinplaceactiveobject


Répondre à ce message

Sujets en rapport avec ce message

Scroll notification dans un TRichEdit [ par chesnetda ] Bonjour à tous,J'ai un question à priori simple, mais usr laquelle je butte depuis plusieurs jours: je voudrais savoir quand un utilisateur clique sur "Jeu de dames" [ par ptitlog ] Bonjour à tous, je suis inscrit su le site depuis un petit temps étant donné que je viens souvent me ressourcer ici cependant je n'ai encore jamais po Creation de processus [ par User8 ] Bonjour, j'ai créé un objet permettant de lancer une application. Celui ci créé le process puis va lire son état à chaque top d'un timer. Des événeme Deactivation de Ctrl + N dans Webbrowser ? [ par programiest ] Salutje voudrais utiliser cette Fonction de Delphiswiss pour deactiver Ctrl+N in Webbrowser1 :http://www.swissdelphicenter.com/en/showcode.php?id=2360 Ouvrir MS Word, Excel etc en plein ecran [ par lordrt ] Bonjour à tous, J'ai un app en Delphi qui ouvre des documents OLE, ex. Word, Excel, PDF entre autres, mais le probleme est que si la fenetre du docume Recuperer valeur champs d'un site format flashplayer [ par Ra_andry ] Andry slt tout le monde, Existe t-il une commande API ou autre pour recuperer la valeur d'un champ d'un site web qui est en flashplayer, en HTML c'e Error E/S 32 sur ecriture et suppresion [ par te56350 ] slt tt le mondej'Ai besoin d'une solution pour mon projet en cour SVPMon projet gère des comptes utilisAteurs Et qu'An j'enregistre des comptes çA fon Spin edit [ par watrem ] bonjour , certainement suite a une mauvaise manip j'ai une erreur dans le "source" du spin edit , j'ai reinstaller delphi et l'erreur est toujours pre Apel de fonction sous scilab [ par CIaco ] B'jour ! A tous ! J'ai un petit soucis avec Scilab pour appeler une fonction correctement enfin je crois...      J'ai taper cette fonction


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,014 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales