Menu-Item ausgrauen
-
Ich habe ein MFC-Proggi, welches bei aktiver Datenbankverbindung das Schliessen unterdrücken soll. Nun habe ich das x schon ausgegraut mit:
HMENU hMenu = GetSystemMenu( AfxGetApp()->GetMainWnd()->m_hWnd, FALSE ); // Zeiger auf das Menu meiner Anwenung
ModifyMenu( hMenu, SC_CLOSE, MF_GRAYED, 0, 0 ); // Änderung
SetWindowPos( AfxGetApp()->GetMainWnd()->m_hWnd, NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_DRAWFRAME ); // Ausführung der ÄnderungNun muss ich jedoch noch 2 Dinge beachten:
1.: Alt+F4 muss unterdrückt werden
2.: im Menu muss Beenden ausgegraut werdenzu 2.: da habe ich das Problem, dass ich das Menu nicht korrekt ansprechen kann. Ich habe versucht mit dem Namen des Menus (dahinter liegt ein int-Wert) einen Handler auf das Menu und dann auf das Submenu und das darinliegende Item zu erhalten, was jedoch scheitert.
Tipps, Anregungen?
Danke!