Frage zum MDI Standardprogramm



  • Hallo.

    Ich hätte gerne ein paar Informationen zu dem Standardprogramm, das vom MFC erstellt wird, wenn man eine MDI haben möchte. Und zwar ist es doch so, dass wenn kein Child geladen ist, dass dann einige Buttons nicht mehr aktiviert sind. Ausserdem ändert sich dann auch das Menü.

    Meine Fragen dazu sind:
    - Wo wird eingestellt, dass z.B. der Speicher-Button (mit der ID: ID_FILE_SAVE) aktiviert bzw. deaktiviert ist?
    - Wo sind die Einstellungen über das ändern der Menüleiste?

    Ich danke schonmal für eure Hilfe.
    H.W.


  • Mod

    Hans Wurst schrieb:

    - Wo wird eingestellt, dass z.B. der Speicher-Button (mit der ID: ID_FILE_SAVE) aktiviert bzw. deaktiviert ist?

    Lies mal etwas zu ON_COMMAND und Command Routing. Das ist eine wichtige MFC Funktion, die Du verstehen solltest.
    Für ein Objekt, dass ein WM_COMMAND senden kann, wird ein Handler gesucht, in der Routing Folge. Zuerst im aktiven View, dann im Dokument, dann im Frame, dann im Applikationsobject. Wird kein Handler gefunden ist das Objekt deaktiviert (in Menüs grau, Buttons disabled).

    Hans Wurst schrieb:

    - Wo sind die Einstellungen über das ändern der Menüleiste?

    In einer MDI Applikation der MFC findest Du zwei (oder mehr) Ressourcen für die Menüs. Eine wenn kein MDI-Child offen ist. Und für jeden Dokumenten/View Typ eine weitere. Welche Menüzeile eingeblendet wird, dass macht das CMDIFrameWindow von selbst bei der Aktivierung eine MDI-Childs.


Anmelden zum Antworten