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 :

récupération du focus


Sujet :

MFC

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Par défaut récupération du focus
    bon voila je veux récupérer le controle qui a le focus.Donc j'ai trouver ceci :

    http://c.developpez.com/faq/vc/?page=CWnd#GetFocus

    Mais voila je l'utilise dans une méthode OnMonBouton donc le focus se retrouve sur le bouton et moi j'aimerais le controle avant que le focus passe sur ce bouton.
    Est ce qu'il y a un moyen facile d'y parvenir avec une méthode ou est ce qu'il faut que je le programme?

  2. #2
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Par défaut
    je vais preciser ce que je veux faire.
    Au faite je veux créer un clavier pour une interface tactile n'ayant pas eu de reponse j'ai testé quelque chose.
    premierement j'ai créer une classe qui doit me gérer tout les clics sur le clavier avec la methode afx_msg void OnClicked();
    pour récupèrer le focus je le sauvegarde dans cette classe de cette façon static int focus;
    Et enfin dans la classe qui s'occupe de mon dialogue j'ai utilisé OnCmdMsg qui met a jour le focus.

    mais j'ai cette erreur a la compilation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Clavier.obj : error LNK2001: unresolved external symbol "public: static int CClavier::focus" (?focus@CClavier@@2HA)
    MonDialogue.obj : error LNK2001: unresolved external symbol "public: static int CClavier::focus" (?focus@CClavier@@2HA)
    Debug/MonDialogue.exe : fatal error LNK1120: 1 unresolved externals
    Error executing link.exe.

  3. #3
    Membre émérite
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Par défaut
    Tout d'abord, je ne comprends pas pourquoi tu veux sauvegarder le focus de ton contrôle vu que quand tu clic dessus, le focus est dessus! (où alors j'ai pas bien compris).
    Ensuite, si j'ai bien compris ton premier post, tu veux récupérer le contrôle avant l'entrée dans la méthode OnClicked()? Je ne connais pas l'ordre d'émission des messages WM_XXX (où les trouver d'ailleurs?), mais peut-être que le WM_SETFOCUS de ton contrôle arrivera avant le WM_CLICKED. A vérifier...

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Par défaut
    justement le probleme c'est que WM_SETFOCUS est fait avant que je rentre dans ma méthode OnClicked donc le focus est sur le bouton. c'est la qu'est mon problemec'est pour ca que j'ai ecrit tout ce code pour recuperer le focus precedent

  5. #5
    Membre émérite
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Par défaut
    Tout d'abord, je pense que ton static focus ne doit pas être dans la classe, mais à l'extérieur de celle-ci. Enfin, à part faire un GetFocus (qui renvoie un CWnd ou HWND, et non pas un int!) à chaque fois que le focus change pour le sauvegarder le prochain coup qu'il va changer, je ne vois pas d'autre solution...

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

Discussions similaires

  1. [JPanel] récupération du Focus par programmation
    Par JMLLB dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 06/06/2007, 13h15
  2. Réponses: 2
    Dernier message: 22/06/2005, 09h14
  3. Créer une fenêtre flottante qui ne peut avoir le focus
    Par BestofMac dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/07/2002, 10h46
  4. Réponses: 4
    Dernier message: 05/06/2002, 12h15
  5. focus en C
    Par killpilot dans le forum C
    Réponses: 8
    Dernier message: 19/04/2002, 19h19

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