Atmaweapon
Messages postés50Date d'inscriptiondimanche 28 décembre 2003StatutMembreDernière intervention11 avril 2006
-
7 juin 2004 à 19:41
cs_bordeaux
Messages postés35Date d'inscriptionlundi 6 décembre 2004StatutMembreDernière intervention14 juin 2008
-
8 mars 2006 à 03:23
J'ai deux questions (dont une qui est 'facultative' a la limite...)
Je travaille dans une MFC et ai un menu déroulant (dans le Menu de mon IDR_MAINFRAME) ...
MonMenu
SousMenu1
SousMenu2
Les éléments de la popup du menu déroulant ont un ID que je leur ai donné ... on va dire ID_ELEM_MENU1 et ID_ELEM_MENU2
Ce que je voudrais faire, dans un premier temps, c'est de griser certains éléments de mon menu déroulant (SousMenu1 par exemple...)...
j'ai pas mal cherché sur le forum... en vain...
note: je ne travaille pas dans une DlgBox ... donc le SendDlgMessage ne marche pas je pense... (il y aurait un équivalent ?)
Dans un deuxieme temps (mais ca a la limite je m'en fiche...), ce que j'aimerais faire serait carrément griser le menu lui meme (griser 'MonMenu') ... mais étant donné que VC6 ne me permet pas de lui attribuer d'ID je sais pas trop si c'est possible...
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 7 juin 2004 à 23:34
sous MFC, pour activer/désactiver, cocher/décocher un item de menu, il faut ajouter une fct spéciale qui va le faire.
Normalement, pour traiter une commande associeé à un menu, tu va dans le classwizard, tu sélectionne la classe responsable du traitement, tu sélection ton ID et du sélectionne COMMAND et AddFunction.
Si tu regarde bien tu as également la posiblité de rajouter une fonction associé à UPDATE_COMMAN_UI. C'est cette fct qui va te permettre de gérer la commande.
dans la fct généré, tu as un paramètre pCmdUI qui te permet activer/désactiver, cocher/décocher. Cette fct est appelée par l'infrastructure MFC à chaque fois que le menu doit être affiché. à toi donc de faire ce qu'il faut en fonction de l'état de ton application.