Bouton + liste choix

cs_obby Messages postés 91 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 12 octobre 2006 - 29 juil. 2005 à 12:33
cs_obby Messages postés 91 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 12 octobre 2006 - 29 juil. 2005 à 18:01
Salut a tous,



J'aurai voulu savoir comment on faisait un truc. Je ne sais pas
vraiment qu'est-ce qu'il faut que je recherche en fait. J'explique ce
que je cherche à faire: En fait, je veux cliquer sur un bouton (ca pas
de pb c'est de mon niveau) et que ca affiche une sorte de liste de
choix juste en dessous du bouton (y'a que 2 choix possible!!), que l'on
sélectionne un des deux et que cela lance une action. Mon problème se
situe plus dans le fait d'afficher cette liste de choix !



Merci de votre aide.

19 réponses

zouippy Messages postés 14 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 29 juillet 2005
29 juil. 2005 à 12:51
si t'es sous visual c++, tu créé une liste combinée. Tu met par exemple IDC_LISTE1 comme ID et tu décoche la case Visible puis tu créé un évenement pour le bouton. Dans le code de la fonction tu met: GetDlgItem(IDC_LISTE1)->ShowWindow(TRUE);
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 12
29 juil. 2005 à 14:51
liste combinée -> Tu trouvera plus chose si tu cherches ComboBox, avec le style CBS_DROPDOWN
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
29 juil. 2005 à 14:55
Bé en faite je pense qu'il souhaite faire un bouton comme le précédent dans IE

Genre, tu cliques sur la ptite flêche à côté, et ta un genre de Menu qui descend...

void Aurevoir( void ); //Bonne journée
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 12
29 juil. 2005 à 14:57
Bah moi je pense pas
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_obby Messages postés 91 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 12 octobre 2006
29 juil. 2005 à 14:58
J'ai ajouté une Combobox que j'ai défini en DROPDOWN et visible 'false'. Lorsque l'on clic sur le bouton j'ai rajouté le code :

GetDlgItem(IDC_LISTE1)->ShowWindow(TRUE); mais ca marche pas, le compilateur veut bien mais à l'éxécution ca plante.
0
cs_obby Messages postés 91 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 12 octobre 2006
29 juil. 2005 à 14:59
Joky -> oui c ca grossomodo mais avec 2 choix fixé au préable
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 12
29 juil. 2005 à 15:00
Si ca plante sur cette ligne, ca doit être GetDlgItem(IDC_LISTE1) qui retourne NULL. Oublie de toute facons cette histoire de ShowWindow, laisse à visible c'est tout.
Regarde juste ce que retourne GetDlgItem(IDC_LISTE1)
0
cs_obby Messages postés 91 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 12 octobre 2006
29 juil. 2005 à 15:02
Ba non il faut que ca s'affiche uniquement quand on clic sur l'autre
bouton, ce qui veut bien dire qu'à un moment il faut qu'on décide de
l'afficher puis de le masquer
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 12
29 juil. 2005 à 15:03
C'est le système qui s'occupe de cela. Une combobox est une edit+une listBox, c'est la listBox qui s'affiche ou se cache, mais ce n'est pas toi qui gère ca.
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
29 juil. 2005 à 15:06
Et si tu fais un simple bouton, et quand on click dessus, ta un menu qui s'affiche ;)

TrackPopupMenu( )

C'est pareil :)

void Aurevoir( void ); //Bonne journée
0
cs_obby Messages postés 91 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 12 octobre 2006
29 juil. 2005 à 15:10
Ca me parait etre ca que je veux faire mais je ne sais pas trop comment
le mettre en oeuvre. Je vais voir si il y a une source la dessus.
0
cs_obby Messages postés 91 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 12 octobre 2006
29 juil. 2005 à 16:44
Mince alors je trouve pas de source.Quelqu'un aurai bien un petit exemple de mise en oeuvre?
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 12
29 juil. 2005 à 17:08
Tu sous-classes le bouton, et dans WM_RBUTTONDOWN, tu fait le trackPopupMenu
Ceci est un exemple un peu similaire: http://www.cppfrance.com/code.aspx?ID=32072, mais avec une ListBox
0
cs_obby Messages postés 91 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 12 octobre 2006
29 juil. 2005 à 17:35
Bon en fait, j'arrive a créer mon petit menu, et il fait ce que je lui
ai demandé. A ce petit détail près, il n'est pas placé ou je le
souhaitait. En fait, j'aurai aimé qu'il se situe en dessous de mon
bouton, mais je n'y arrive pas pour l'instant.
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 12
29 juil. 2005 à 17:39
RECT rect;
GetWindowRect(hBtn, &rect);
Mettre le menu à la position (rect.left, rect.bottom + 1)

Tu peux aussi penser au fait que si le bouton est trop bas sur l'écran pour être affiché en entier, il faut afficher le menu au dessus et pas en dessous du bouton
0
cs_obby Messages postés 91 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 12 octobre 2006
29 juil. 2005 à 17:43
euh hBtn c koi et tu l'as eu comment?
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 12
29 juil. 2005 à 17:46
hBtn c'est l'handle du bouton et c'est un pote qui me l'a filé
J'aurais aussi pu demander à GetDlgItem(hdlg, IDC_LISTE1);
hdlg c'est l'handle du dialogue, mais celui la tu dois deja l'avoir
0
cs_obby Messages postés 91 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 12 octobre 2006
29 juil. 2005 à 17:57
ok merci ;-)
0
cs_obby Messages postés 91 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 12 octobre 2006
29 juil. 2005 à 18:01
c cool ca fonctionne au poil.



Merci a tous pour votre aide.
0