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 :

[MFC] WS_TABSTOP entre CDialog imbriquée [Fait]


Sujet :

MFC

  1. #21
    Membre éclairé
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Points : 749
    Points
    749
    Par défaut
    Génial !
    Je rencontrais le même problème que CroustRyu. Grâce à une petite recherche dans le forum et ta précieuse aide, Farscape, je suis maintenant un développeur heureux !

  2. #22
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    Citation Envoyé par PetitPapaNoël
    Génial !
    Je rencontrais le même problème que CroustRyu. Grâce à une petite recherche dans le forum et ta précieuse aide, Farscape, je suis maintenant un développeur heureux !

  3. #23
    Membre éclairé
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Points : 749
    Points
    749
    Par défaut
    En fait, j'ai quand même un léger problème suite à l'adoption de la solution de Farscape...
    En fait j'utilise l'interception des touches Entrée et Echap de la façon proposée par Farscape dans la FAQ. Et il semble que l'emploi simultané de ces deux techniques pose un problème au niveau des boutons. En effet, normalement la frappe sur Entrée alors qu'un bouton a le focus devrait lancer le OnClick du bouton, mais ce n'est pas le cas dans la boîte de dialogue qui a le style DS_CONTROL.

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

    Informations professionnelles :
    Activité : Développeur informatique

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

    Citation Envoyé par farscape
    salut,
    tu peux faire comme suit:
    sur preTranslateMessage:
    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
    19
    20
    21
    22
    23
     
    BOOL MyChild::PreTranslateMessage(MSG* pMsg) 
    {
        // TODO: Add your specialized code here and/or call the base class    
        if (pMsg->message == WM_KEYDOWN)
        {            
            CWnd *pWnd,*pFocused;
            switch (pMsg->wParam)
            {
            case VK_TAB:
                        pFocused=pWnd=CWnd::GetFocus();
                        // le premier dans l'ordre des tabulations
                          CWnd *pFirstCtrl=pWnd->GetNextDlgTabItem(NULL);                              // le suivant par rapport au courant...
                        CWnd *pCtrlNext=pWnd->GetNextDlgTabItem(pFocused);
                        if(pFirstCtrl==pCtrlNext)
                         {
                             // si le suivant est égal au premier dans l'ordre du tab     
                             //control c'est que l'on est sur le dernier ...
     
                          }
            }
    //......
    }
    Après avoir mis en application la méthode proposée par Farscape je me suis rendu compte d'un petit problème : que l'on utilise la touche Tab ou la combinaison Maj + Tab, la réaction sera la même : passage au contrôle suivant dans l'ordre des tabulations. Du coup, on perd la fonctionnalité du retour en arrière de la combinaison Maj + Tab.

    Quelqu'un a-t-il une idée pour résoudre ce problème ?

  5. #25
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    il suffit de detecter le Maj Tab et d'adapter le traitement ...
    pour la detection du shift voir ce post:
    http://c.developpez.com/faq/vc/?page...trlLikeWindows

  6. #26
    Membre éclairé
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Points : 749
    Points
    749
    Par défaut
    Super ! Je ne connaissais pas la méthode GetKeyState.
    Merci Farscape !

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [MFC] Communication entre une CDialog et une CFormview
    Par julien.nasser dans le forum MFC
    Réponses: 8
    Dernier message: 06/07/2006, 14h32
  2. [MFC] Communication entre CDialog
    Par Bmagic dans le forum MFC
    Réponses: 2
    Dernier message: 27/06/2006, 17h26
  3. [MFC] différence entre CView et CDialog?
    Par r0d dans le forum MFC
    Réponses: 3
    Dernier message: 22/02/2005, 16h23
  4. Réponses: 6
    Dernier message: 28/02/2004, 09h19
  5. [MFC] CPropertySheet (ou CDialog)
    Par tut dans le forum MFC
    Réponses: 4
    Dernier message: 06/11/2002, 13h09

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