Menu contextuel (griser un élément du menu déroulant)

Menu contextuel (griser un élément du menu déroulant) - C++ - Programmation

Marsh Posté le 13-05-2004 à 11:35:42    

Comment désacticer l'accès aux sous-menus d'un menu CONTEXTUEL?
J'ai utilisé la fonction OnUpDate...(CCmdUI *pCmdUI) qui est appelée lors de la création du menu. Voici le code

Code :
  1. void ...::OnUpDate...(CCmdUI *pCmdUI)
  2. {
  3.    pCmdUI->Enable(FALSE);
  4. }


la fonction est bien appelée mais seulement après que le menu soit créé.
Donc le sous-menu ne se grise pas et j'ai donc accès à une opossibilité d'action non voulue.
Comment faire pour résoudre ce problème?

Reply

Marsh Posté le 13-05-2004 à 11:35:42   

Reply

Marsh Posté le 14-05-2004 à 10:47:24    

Pour ceux que ca interresse, j'ai trouvé la solution:
il faut désactiver les sous-menu avant la création du menu déroulant grâce à la fonction:

Code :
  1. pmenu->EnableItemMenu(/*ID du sous-menu*/, MF_DISABLED|MF_GRAYED);
  2. //pmenu est un pointeur sur CMenu

Reply

Marsh Posté le 14-01-2005 à 21:58:23    

Euh, si je puis me permettre... parce que le sujet m'intéressait aussi, tu as fait une tout petite inversion,
ce n'est pas EnableItemMenu(...) mais EnableMenuItem(...) avec les mêmes arguments...
mais ça arrive les fautes de frappes...
enfin merci sans toi, j'aurai erré sur le web à la recherche d'une réponse....

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed