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 Änderung

    Nun muss ich jedoch noch 2 Dinge beachten:
    1.: Alt+F4 muss unterdrückt werden
    2.: im Menu muss Beenden ausgegraut werden

    zu 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!


Anmelden zum Antworten