Menus MFC

Signaler
Messages postés
77
Date d'inscription
lundi 14 août 2006
Statut
Membre
Dernière intervention
27 février 2007
-
Messages postés
77
Date d'inscription
lundi 14 août 2006
Statut
Membre
Dernière intervention
27 février 2007
-
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

Messages postés
59
Date d'inscription
dimanche 19 décembre 2004
Statut
Membre
Dernière intervention
1 septembre 2006

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.
Messages postés
77
Date d'inscription
lundi 14 août 2006
Statut
Membre
Dernière intervention
27 février 2007
8
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
________________________________________
Messages postés
77
Date d'inscription
lundi 14 août 2006
Statut
Membre
Dernière intervention
27 février 2007
8
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
________________________________________