Menus MFC

adrienva Messages postés 77 Date d'inscription lundi 14 août 2006 Statut Membre Dernière intervention 27 février 2007 - 23 août 2006 à 11:07
adrienva Messages postés 77 Date d'inscription lundi 14 août 2006 Statut Membre Dernière intervention 27 février 2007 - 23 août 2006 à 13:59
Bonjour, Mon probleme est que lorsque je crée un menu (en MFC ) , puis que j'ajoute des gestionnaires d'évenements, lors de l'éxécution, les éléments du menu restent grisés alors que dans l'éditeur visual studio, ils sont normaux. Comment faire pour les activer? J'ai utilisé le paramètre popup=true mais je ne suis pas sur.

________________________________________

debut:
mov ah, 09h
mov dx, offset message
int 21h
ret
message db ?@+?, ?$?
end debut
________________________________________

3 réponses

MNEMONIC Messages postés 59 Date d'inscription dimanche 19 décembre 2004 Statut Membre Dernière intervention 1 septembre 2006
23 août 2006 à 13:22
Dans l'éditeur, sur les menus qui apparaissent grisés, tu fais un click droit, classwizard.
Dans class name, tu vérifies qu'il te rattache ce handler à la bonne classe (celle où tu veux l'utiliser...).
Dans la zone "messages", tu double cliques sur "command" (il t'ajoutte une ligne dans la zone du bas).
Dans le cpp correspondant à la classe nommée plus haut, il t'a rajoutté une fonction à la fin + 1 ligne au début du fichier (dans la message map).

Tu n'as plus qu'a rajoutter ton code dans la fonction onMontruc()

Le popup=true, c'est pour s'il y a des sous menus.
0
adrienva Messages postés 77 Date d'inscription lundi 14 août 2006 Statut Membre Dernière intervention 27 février 2007 8
23 août 2006 à 13:43
j'ai pas le classwizard comme je suis sous VC++ 2005. Mais j'avais fait clik droit gestionnaire d'évènements Command ontruc et ca reste grisé et la fonction ontruc n'est pas exécutée. Enabled est fixée à true

________________________________________

debut:
mov ah, 09h
mov dx, offset message
int 21h
ret
message db ?@+?, ?$?
end debut
________________________________________
0
adrienva Messages postés 77 Date d'inscription lundi 14 août 2006 Statut Membre Dernière intervention 27 février 2007 8
23 août 2006 à 13:59
C'est réglé, en fait j'avais déclaré CAboutdlg en tant que classe parent au lieu de déclarer CMainframe.Merci
________________________________________

debut:
mov ah, 09h
mov dx, offset message
int 21h
ret
message db ?@+?, ?$?
end debut
________________________________________
0
Rejoignez-nous