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

MFC Discussion :

Savoir quel controle va recevoir le focus


Sujet :

MFC

  1. #1
    Membre éclairé
    Profil pro
    System Integration Project Manager
    Inscrit en
    Octobre 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : System Integration Project Manager
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 219
    Par défaut Savoir quel controle va recevoir le focus
    Bonjour,

    voici mon pb :

    j'ai une boite de dialogue (mais pas un Cdialog !) qui a contient plusieurs champs de saisie (CEdit) : Longueur 1, Longueur 2, Longueur 3.

    La contrainte : Longueur 1 >= Longueur 2 >= Longueur 3 et ça doit être teste au vol (pas de bouton 'valider' par ex).

    Voici ce que je veux comme comportement :
    - si on quitte le champ de saisie "Longueur 2" avec "Shift + Tab" pour revenir au champ de saisie "Longueur 1" alors ok.
    - si en revanche, on veut quitter le champ de saisie "Longueur 2" avec "Tab" pour aller au champ de saisie "Longueur 3" alors KO --> reste sur champ de saisie "Longueur 2".

    Je n'ai pas eu de souci pour effectuer la validation des contraintes en utilisant OnKillFocus. Par contre, je ne sais pas comment connaitre le controle qui va recevoir le focus. Est-ce qu'on peut le savoir par les MFC ou faut-il observer les evenements et le determiner soit meme ??

    Vincent

  2. #2
    Membre chevronné
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut
    Bonjour,

    Pour connaître le contrôle qui va recevoir le focus, tu peux utiliser la méthode GetNextDlgTabItem, définie dans CWnd. En fonction de ses arguments, tu peux récupérer le contrôle suivant ou précédant dans l'ordre des tabulations.

    Tu peux aussi jeter un coup d'oeil à cet article de la FAQ, qui te sera peut-être utile.

  3. #3
    Membre chevronné Avatar de stephdim
    Profil pro
    Inscrit en
    Août 2007
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 462
    Par défaut
    salut,

    c'est un paramètre donné à la fonction OnKillFocus()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    afx_msg void OnKillFocus(
       CWnd* pNewWnd 
    );
    suffit donc de tester pNewWnd

    @+

  4. #4
    Membre chevronné
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut
    Par contre, je me méfie beaucoup de méthodes événementielles liées au focus. J'ai notamment observé que souvent le contrôle suivant obtient le focus avant que le précédent ne le perde...

  5. #5
    Membre éclairé
    Profil pro
    System Integration Project Manager
    Inscrit en
    Octobre 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : System Integration Project Manager
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 219
    Par défaut
    mais quel je suis

    Merci ...

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

Discussions similaires

  1. [2.0] Sur quel control est le Focus en C#
    Par Niklaos dans le forum C#
    Réponses: 6
    Dernier message: 22/02/2010, 20h19
  2. [POO] Savoir quel objet de la page porte le focus
    Par florent-k dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/09/2007, 10h14
  3. Savoir quel élément a le focus
    Par MayOL69bg dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/04/2007, 15h28
  4. Savoir quel composant possède le focus
    Par ero-sennin dans le forum C++Builder
    Réponses: 4
    Dernier message: 18/09/2006, 22h36
  5. [C#] Quel contrôle provoque le Page_Load?
    Par Mourad dans le forum ASP.NET
    Réponses: 11
    Dernier message: 27/04/2004, 11h17

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