IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

[DELPHI6] et TWebBrowser et OnBlur


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2003
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 81
    Par défaut [DELPHI6] et TWebBrowser et OnBlur
    Bonjour,

    J'ai un TWebBrowser posé sur une fiche. Quand je charge un document html qui appel OnBlur via du JavaScript ma fiche passe en dessous de tous les autres fençetres Windows. Je souhaiterais empêcher ce comportement.

    J'ai donc cherché à intercepter l'évènement OnBlur. J'y arrive grâce aux interfaces IHTMLDocument2 et IHTMLWindow2. Par contre je n'arrive pas à empêcher l'évènement d'être exécuté.

    Comment donc puis-je m'y prendre ?

    Merci.

  2. #2
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 543
    Billets dans le blog
    10
    Par défaut
    ONBlur est un événément qui se déclenche lorsque la fenêtre pert le focus. Il est donc déjà trop tard.
    Tu pourrais par exemple, mais je considère celà comme du bidouillage, mettre un timer dans ta fiche et mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Form1.BringToFront
    dans l'évènement onTimer

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2003
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 81
    Par défaut
    Alors dans ce cas comment pourrait-on empêcher l'exécution de window.blur ?

  4. #4
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 543
    Billets dans le blog
    10
    Par défaut
    As tu un exemple du code javascript qui provoque l'évènement ?

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2003
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 81
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
    <html>
     <head>
      <title>Un</title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      <script language="VBScript">
       Function OnBlur 
        Self.Blur
       End function
      </script>
     </head>
    <body>
     <div><input style="width=120" type="button" value="OnBlur" OnClick="OnBlur"></div>
     <div><input style="width=120" type="text" value=" "></div>
     <div><a href=http://www.google.com>Google</div>
    </body>
    </html>

  6. #6
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 543
    Billets dans le blog
    10
    Par défaut
    A priori le problème posé est plus complexe qu'il n'y paraît. Voici un code qui ne répond pas directement à ta question mais qui peut te donner une piste. ici lorsque l'application pert le focus elle se termine. Je suis en train de voir comment déclencher la procédure inverse. De mémoire je crois qu'il faut passer par un "hook"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    type
      TForm1 = class(TForm)
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
        procedure P1 (var msg : TMessage); message Wm_KillFocus;
      end;
    var
      Form1: TForm1;
    implementation
    {$R *.dfm}
    { TForm1 }
    procedure TForm1.P1(var msg: TMessage);
    begin
      SendMessage (self.Handle,WM_CLOSE,0,0) ;
    end;

Discussions similaires

  1. [TWebBrowser] ... et l'historique de I.E.
    Par Frederic dans le forum Composants VCL
    Réponses: 6
    Dernier message: 21/10/2002, 18h53
  2. [CR8][Delphi6] erreur imprimante non supportée
    Par Sebastien L. dans le forum SDK
    Réponses: 3
    Dernier message: 12/09/2002, 15h42
  3. TWebBrowser et création dynamique
    Par BakaOnigiri dans le forum Web & réseau
    Réponses: 2
    Dernier message: 01/09/2002, 10h53
  4. delphix et delphi6 une legende???
    Par genteur slayer dans le forum DirectX
    Réponses: 1
    Dernier message: 19/08/2002, 16h43
  5. [Kylix] DELPHI6-CLX problème Onmousedown ....
    Par Bodin Yvon dans le forum EDI
    Réponses: 2
    Dernier message: 22/07/2002, 11h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo