Menü-Eintrag deaktivieren

CodeFatal

Erfahrenes Mitglied
Hi!
Ich hab da nen Problem mit Menüeinträgen unter MFC.

Hab schon gesucht und folgendes gefunden:
http://www.tutorials.de/tutorials156108.html&highlight=men%FC

Ich habe quasi die selbe Frage wie Topsen nur bin ich auf die angegebene Lösung bereits selbst gekommen...

Mein Problem: Es gibt zwar keine Reaktion auf den Menüpunkt :) aber das Teil wird auch nicht "ausgegraut" :(.

Hat jemand ne Idee wo sich da noch nen Fehler eingeschlichen haben kann?
Verwende MFC unter MVS6.

Code:
//BOOL FileChanged = TRUE wenn Datei geändert

void CStudyDlg::OnDateiSpeichernunter() 
{
	speichern();
}

void CStudyDlg::OnUpdateDateiSpeichernunter(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable(FileChanged);
}

Gruß Michael
 
Hi,

ich würde das mal so machen, wenn dein Menü als Ressource mit ID vorhanden ist:

Code:
  void CStudyDlg::OnDateiSpeichernUnter()
     {
     	CMenu *pMenu = GetMenu(); // Holt das aktuelle Menü
     
     	speichern():
     	pMenu->EnableMenuItem(IDM_FILE_SAVE_AS, MF_GRAYED);
     }

Zum Aktivieren derselbe Code nur anstatt MF_GRAYED das Flag MF_ENABLED nehmen. Für IDM_FILE_SAVE_AS mußt du natürlich die richtige ID des Menüeintrags nehmen, so wie du ihn vergeben hast.

------

Der Ansatz von dir bezieht sich meines Wissens nur auf von CFrameWnd abgeleitete Fenster und nicht auf Dialoge, da Dialoge eigentlich (hust) keine Menüs enthalten sollten. ;)
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück