none
Designentscheidung MFCNext: Wohin mit ChildFrm-Toolbars - unterhalb Menü, unterhalb der Registerkarten, ... RRS feed

  • Allgemeine Diskussion

  • Hi,

    in den alten MFC-Versionen war es ja einfacher: das MDIFrame hat automatisch das Menü zum aktuellen ChildFrame dargestellt. Und ob die Toolbar im ChildFrame oder MainFrame lag war vom Anwender optisch nicht zu unterscheiden. Er hatte von oben nach unten immer Fenstertitel, Menüleiste, Toolbarleiste, eigentliches Programmfenster.

    Mit der neuen Darstellungsmöglichkeit der ChildFrames als Registerkarten durch die neue MFCNext frage ich mich, wohin die Toolbarleiste (und Menüleiste) soll.

    Denkbar wären ja 3 Varianten:

    1) Fenstertitel, Registerkarten-Zeile, Menüleiste, Toolbarleiste, Programmfenster
    2) Fenstertitel, Menüleiste, Registerkarten-Zeile, Toolbarleiste, Programmfenster
    3) Fenstertitel, Menüleiste, Toolbarleiste, Registerkarten-Zeile, Programmfenster

    Implementiert in "meinem" Framework habe ich die letzten beiden Varianten. Für Variante 3 arbeiten CMyMDIChildWnd und CMyMDIFrameWnd zusammen um analog der Menüs auch die Toolbars auszutauschen.
    Bei Variante 2 hat ja einfach das CMyMDIChildWnd eine eigene Toolbar und für Variante 1 müsste man einfach den Menüaustausch des MDIFrameWnd lahmlegen und im MDIChildWnd sowohl das Menü als auch die Toolbar implementieren.

    Gibt es eigentlich Design-Guidelines die sich zu diesem Thema Gedanken gemacht haben?
    Die MFCNext-Samples haben ja alle nur eine Mainframe-Toolbar und helfen dadurch bei dieser Design-Entscheidung nicht.

    Tschüß, Holger.

     

    Dienstag, 1. Juni 2010 08:17

Alle Antworten

  • Hallo Holger!
    in den alten MFC-Versionen war es ja einfacher: das MDIFrame hat automatisch das Menü zum aktuellen ChildFrame dargestellt. Und ob die Toolbar im ChildFrame oder MainFrame lag war vom Anwender optisch nicht zu unterscheiden. Er hatte von oben nach unten immer Fenstertitel, Menüleiste, Toolbarleiste, eigentliches Programmfenster.

    Mit der neuen Darstellungsmöglichkeit der ChildFrames als Registerkarten durch die neue MFCNext frage ich mich, wohin die Toolbarleiste (und Menüleiste) soll.

    Denkbar wären ja 3 Varianten:

    1) Fenstertitel, Registerkarten-Zeile, Menüleiste, Toolbarleiste, Programmfenster

    Sieht dämlich aus und macht von der UI her für mich gar keinen Sinn.

    2) Fenstertitel, Menüleiste, Registerkarten-Zeile, Toolbarleiste, Programmfenster

    Diese Variante verwende ich, wenn die Toolbar-Leiste nicht konstant ist und mit dem Dokumenten Typ wechselt.
    Genau wir ich auch eigene Toolbarleisten in den gedockten Fenster habe.

    3) Fenstertitel, Menüleiste, Toolbarleiste, Registerkarten-Zeile, Programmfenster

    Diese Variante benutze ich wenn ich einen konstanten Dokumenten Typ habe und die Toolbarleiste sich nicht ändern muss.
    Gibt es eigentlich Design-Guidelines die sich zu diesem Thema Gedanken gemacht haben?
    Ich kenne dazu keine Abhandlungen.
    Die Interface-Guides, die mal vorhanden waren, sind mittlerweile alle verschwunden oder in Bereiche gewandert in denen ich Sie nicht mehr wiederfinde :-/
    Und diese hier http://msdn.microsoft.com/en-us/library/aa511258(v=MSDN.10).aspx hilft hier nicht wirklich bei der Entscheidung.
    Ist aber zumindest in manchen Bereichen lesenswert. BTW: Es werden auch die neuen Controls hier behandelt.

    Die MFCNext-Samples haben ja alle nur eine Mainframe-Toolbar und helfen dadurch bei dieser Design-Entscheidung nicht.

    Was heißt helfen nicht? Wenn Du einen Toolbar im MDI-Child haben willst, dann setze eben einen ein. Sicher vom Wizard her wird es nicht unterstützt ist aber auch nicht wirklich ein riesen Ding!

    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Dienstag, 1. Juni 2010 08:42
    Moderator