Menueintrag Grau hinterlegen
-
Hallo, ich verzweifle noch...
Ich versuche in CMainFrame einen Menüeintrag Grau zu hinterlegen.
CMenu* Menu = GetMenu(); Menu->EnableMenuItem(ID_DATEI_EXECUTE, MF_GRAYED);Das Problem ist nur, dass sich an dem Menu nichts ändert...
Kann mir bitte jemand helfen????!!!
-
Das Menu, welches Du verändern willst, besitzt nur die Einträge 'Datei', 'Bearbeiten', 'Ansicht'...!
Du musst erst mit GetSubMenu das Submenu holen, wo der Eintrag drin ist!
Aber davon abgesehen benutzt man in der MFC OnUpdateCommandUI
-
Ich habe es auch schon so probiert, hat aber auch nicht geklappt:
CMenu* MainMenu = GetMenu(); CMenu *pSubMenu; pSubMenu=MainMenu->GetSubMenu(0); if (bShowMenu) pSubMenu->EnableMenuItem(iResource, MF_ENABLED); else pSubMenu->EnableMenuItem(ID_DATEI_EXECUTE, MF_GRAYED); SetMenu(MainMenu);
-
Vielleicht sollte ich noch erwähnen dass es sich um eine MDI-Anwendung handelt...
-
Nunja, da Du wohl meinen letzten Kommentar überlesen oder ignoriert hast, muss ich Dich halt auf die wunderschöne Suche hier verweisen: Im Menü Einträge deaktivieren
-
Nein, das war nicht ignoriert. Aber ich muss ja mal schauen wie das funct. Sehe ich das richtig und ON_UPDATE_COMMAND_UI wird jedesmal für jeden Menüeintrag gesendet...?
-
Habe es jetzt so gemacht und klappt auch !!!!!!!!!
DANKE!!!!!!!!!!!!!!!!!!!!!!!!
Aber eines würde mich trotzdem intererssiren. Warum geht es nicht auf die herkömmliche Art, wie z.B. bei PopUp Menüs...... 
-