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

VB 6 et antérieur Discussion :

Equivalent événement LostFocus


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Par défaut Equivalent événement LostFocus
    Bonjour,
    Je souhaite detecter un LostFocus sur une feuille, mais je ne peux pas utiliser l'événement LostFocus. Je m'explique :
    L'événement LostFocus se déclenche par exemple si j'ai une deuxième feuille de mon appli et que je lui donne le focus (par un click par exemple). Mais lorsque, par exemple, je click sur mon bureau, cet événement ne se déclenche pas (pourtant la feuille pert le focus en théorie, non ?). Pareil, si je lance un bloc note ou toute autre application. Comment pourrais-je faire ?
    (j'éspère avoir été clair car c'est pas facile à expliquer )
    Merci d'avance.
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  2. #2
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    J'ai regardé rapidement et ni l'événement LostFocus, ni l'événement Deactivate n'est déclenché, et ce, peu importe si je clique sur l'écran ou sur une autre fenêtre d'application.

    Ceci dit, lorsque l'application ouvre une deuxième fenêtre (de cette même application) et que l'on passe le focus d'une fenêtre à l'autre, les événements LostFocus et GotFocus de ces fenêtres ne sont pas déclanchés alors que les événements Activate et Deactivate le sont.

    Désolée de ne pouvoir t'aider d'avantage.

  3. #3
    Membre émérite Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Par défaut
    Bon j'ai trouvé une solution mais je me demande s'il n'y a pas mieux :
    Un Timer avec un interval très court, l'API GetActiveWindow, on compare le résultat avec le Hwnd de la feuille, s'il est différent alors la feuille n'as plus le focus. Ca fonctionne mais il y a peut-être mieux.
    Je laisse donc la discution sans le Tag, et si je n'ai aucune autre proposition alors j'en resterais sur cette solution.
    Merci zaza d'avoir cherché
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Un petit complément ...
    L'avantage c'est que la forme ne doit pas être active.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            LonCStat = GetCursorPos&(mpoiCursorPos)
            LonCurrhwnd = WindowFromPoint(mpoiCursorPos.x, mpoiCursorPos.y)
     
             If LonCurrhwnd = Me.hwnd  Then
                'le curseur est sur la forme
             Else
                 'le curseur est ailleur
             end if
    J'avais placé celà dans un timer
    A+

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/04/2014, 01h43
  2. [AC-2010] Equivalence de l'évênement au formatage dans un formulaire
    Par jjacques68 dans le forum Access
    Réponses: 4
    Dernier message: 18/10/2013, 17h07
  3. Equivalent évènement onblur pour une div
    Par dominos dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 10/11/2011, 21h36
  4. [Kylix] Equivalent ShellExec en CLX
    Par Anonymous dans le forum EDI
    Réponses: 7
    Dernier message: 14/08/2002, 11h55
  5. [Kylix] equivalent winsock avec kylix
    Par Victor dans le forum EDI
    Réponses: 2
    Dernier message: 08/05/2002, 07h43

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