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 :

"UnsetFocus" sur un composant contrôle ActiveX


Sujet :

VB 6 et antérieur

  1. #1
    Membre actif Avatar de Goupo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 505
    Points : 229
    Points
    229
    Par défaut "UnsetFocus" sur un composant contrôle ActiveX
    Salut,

    J'ai créé un composant que j'ai importé dans un projet. Et je voudrai que lorsque l'on clique dessus, on éxécute une série d'instructions.

    Lorsque je double clique sur le composant dans l'assistant graphique, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub Morp_Grid_GotFocus()
    Et je peux changer dans la liste en haut à gauche pour DragDrop, DragOver, LostFocus et Validate.

    J'ai donc choisi de rester sur GotFocus puisque lorsque je clique sur mon composant, en effet, les instructions demandées sont éxécutées.

    Le problème, c'est qu'une fois que le composant à le focus, hé bien il n'a pas l'air de vouloir le lâcher.

    Ce qui fait que les clics sur le Morp_Grid après le premier clic ne font pas de gotFocus...

    Comment je peux dire à mon composant Morp_Grid de lâcher le focus?

    A part en mettant le focus sur un autre coposant... Je ne vois pas...

    Merci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Morp_Grid_GotFocus()
    afficheTour
    me.Morp_Grid...
    End Sub

  2. #2
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Citation Envoyé par Goupo
    A part en mettant le focus sur un autre coposant... Je ne vois pas...
    Moi non plus... il faut bien qu'il y ait qqchose qui ait le focus.

  3. #3
    Membre actif Avatar de Goupo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 505
    Points : 229
    Points
    229
    Par défaut
    Au lancement de l'application, le focus est sur quoi?

  4. #4
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    A priori sur le controle dont la propriété TabIndex a la valeur la plus basse

  5. #5
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Pour que ton composant recoive le gotfocus, il faut qu'un autre composant aie le focus. donc cliquer sur un composant qui à déjà le focus ne declenchera une gotfocus.
    Tu ferais bien d'utiliser l'evenement click
    Ajoute ce code à ton composant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public Event Click()
     
    Private Sub UserControl_Click()
      RaiseEvent Click
    End Sub

  6. #6
    Membre actif Avatar de Goupo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 505
    Points : 229
    Points
    229
    Par défaut
    Il y a un end au public event? J'ai une erreur sur le public event click : seul un commentaire peut être affiché après un end sub...

    J'ai essayé end event pour voir mais ça n' pas l'air d'être ça.

  7. #7
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Il doit te rester des déclarations globales apres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserControl_Click()
      RaiseEvent Click
    End Sub
    Déplace ce cette sub apres toutes tes déclarations

  8. #8
    Membre actif Avatar de Goupo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 505
    Points : 229
    Points
    229
    Par défaut
    Mmm, ok, ça marche mais pas comme prévu...

    Le click ne marche que si je clique sur le "form" du controle, si je clique sur les labels, il ne se passe rien...

    Question : si je fais, dans mon controle un lbl on click > raise event click
    ça va correspondre à morp_grid on click dans mon application test?

    Edit: On dirait que oui!
    Merci!


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Quote] DVP quoté sur Bashfr
    Par Skyounet dans le forum La taverne du Club : Humour et divers
    Réponses: 16
    Dernier message: 26/09/2006, 18h52
  2. Réponses: 2
    Dernier message: 15/11/2005, 10h09

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