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

Windows Discussion :

[c api windows]passer d'un controle a un autre avec la touche tab


Sujet :

Windows

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 25
    Points : 20
    Points
    20
    Par défaut [c api windows]passer d'un controle a un autre avec la touche tab
    Bonjour,

    j'ai créée une interface graphique sous visual c++ avec l'api windows avec différents controles (plusieurs controls d'édition et plusieurs combobox) et je voudrais savoir comment programmer le fait que, si je suis sur un controle, en appuyant sur la touche tab, je passe au controle suivant. Voici le code d'un de mes controle; ils sont tous sur le même modèle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    //ce controle crée une liste déroulante vide
    hComboBox3=CreateWindow(
    			"COMBOBOX",
    			"",
                           WS_CHILD|WS_VISIBLE| 
                           CBS_DISABLENOSCROLL| CBS_DROPDOWNLIST,
                           20,45,240,30,//dimensions
                           hwnd,(HMENU)ID_CB3,inst,NULL);
    merci

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Bonjour,
    1. Chaque contrôle doit avoir le style WS_TABSTOP.
    2. La fenêtre qui les contient doit soit:
      • Être une boîte de dialogue créée et gérée avec DialogBox(), DialogBoxParam() etc.
      • Ou peut être une simple fenêtre, ou une boîte de dialogue créée avec CreateDialog() et consorts, mais la boucle de messages doit utiliser la fonction IsDialogMessage() dessus.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 25
    Points : 20
    Points
    20
    Par défaut
    si j'ai bien compris, je dois remplacer SendMessage par IsDialogMessage()? si oui, est ce que IsDialogMessage() prend les mêmes parametres que SendMessage?

    merci

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Non, IsDialogMessage() doit être mis avant DispatchMessage(), et ce dernier ne doit pas être appelé si IsDialogMessage() a retourné TRUE.

    Et bizarrement, c'est marqué dans la doc...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. [Débutant] WPF, MVVM : Comment passer automatiquement d'un champ à l'autre avec la touche Entrée
    Par intibnin dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 11/04/2014, 16h58
  2. [XL-2007] Passer d'un textbox à l'autre avec la touche Tab
    Par formabox dans le forum Excel
    Réponses: 2
    Dernier message: 01/12/2011, 12h41
  3. passer de page jsp a une autre avec servlet
    Par ala2a dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 15/03/2011, 15h38
  4. Réponses: 4
    Dernier message: 18/10/2007, 16h16
  5. [C#] Passer d'un webform à un autre avec blocage
    Par Coplan dans le forum ASP.NET
    Réponses: 3
    Dernier message: 11/05/2005, 13h04

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