begin process at 2012 02 09 04:54:48
  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 TShiftState de FormKeyDown de la form [ par MohInfo ] Bonsoir à tous lors de l'utilisation de l'évènement FormKeyDown de ma form (FormStyle = fsMDIForm)je veux faire un raccourci clavier pour chaque bout Fonction qui retourne une autre valeur !! [ par grandyaka54 ] Bonjour à tous, J'ai un problème sur lequel je ne m'explique pas. Ma fonction Crypt(Maintenant, '.cry'); que j'utilise dans la fonction btnCryptageCl Boucle For qui stoppe au bout de 99 valeurs [ par bouddha69 ] Bonjour, J'avance petit à petit dans ma programmation et je suis presque au bout. Il me reste un petit problème (qui en fait est vraiment embêtant). TSearchRec et les idtagmp3 [ par eclems ] Bonjour existe t il une fonction qui et avec TSearchRec pour afficher les idtag dans un tlistview en utilisant cette unté unit cmxMP3; interface us simplifier conditions [ par JackNUMBER ] Bonsoir une petite question facile, comment "simplifier" ces conditions : [code=pas]for i:= CheckListBox1.Count -1 downto 0 do if CheckListBox1.Chec affichage message d'erreur [ par Luigi1205 ] Bonjours tout le monde lorsque je click sur le boutton valider et que je ne respecte pas certaine contrainte je voudrait affiche des message d'erreu [Delphi 5] Problème de compilation et de boucle if [ par Nyio ] Bonjour à tous, Je travail actuellement sous Delphi 5 et deux problèmes me bloquent dans l'avancement de mon projet : [u]Problème 1 :[/u] [code=pas]


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 5,132 sec (3)

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