Toolbar bei MDI-Programm



  • hallo,

    hab mal wieder ein Problem bei meinem MDI-Texteditor.
    und zwar habe ich mir eine Toolbar mit CreateWindowEx hinzugefügt und einen Exit-Button.
    ertsmal zum testen...

    Das Problem ist jetzt, dass neue MDI-Childs seltsamerweise auch hinter der Toolbar erscheinen können.
    Sie werden also nicht wie beim normalen Menü automatisch nach unten verschoben.

    Wie kann ich dafür sorgen, dass die Toolbar wie eine Menüleiste behandelt wird?
    Also der Dialog automatisch nach unten vergrößert wird und alles darin etwas nach unten verschoben?

    Bin für jede Hilfe dankbar

    MfG DrakoXP



  • is jetzt nur mal blind drauf losgeraten!!
    aber in dem du das handle der Toolbar als Menu setzt.
    würd ich jetzt einfach mal versuchen.
    SetMenu(hWnd,hWndToolbar);
    🙄



  • Was ist denn mit "hinter der Toolbar erscheinen" gemeint? Normalerweise ist die ToolBar in den Rahmen eingedockt, so daß die Childs immer dahinter liegen (wenn die Child-Fenster nicht maximiert sind!). Oder willst Du in jedem Child eine Toolbar haben?



  • also man kann ja ein MDI-Child mit der Maus verschieben xD.

    jetzt stell dir vor, du verschiebst es nach oben, so dass ein Teil des Fensters unter der Menüleiste verschwindet.

    So kann man sich das bei der Toolbar vorstellen.
    Nur, dass das Fenster eben schon so erstellt wird 😞

    Sieht ja auch nicht toll aus, wenn man das Programm startet, und die Titelleiste vom MDI-Child ist verdeckt.

    @ @rT!f@Ct:
    das Problem bei deiner Variante wäre, dass mein Programm sowohl Menü, als auch Toolbar hat 🙄
    selbst wenn es nicht so wäre, glaube ich würde das nicht so einfach gehen.


  • Mod

    Innerhalb des MDIFRame Windows können MDI-CHild Windows sich frei bewegen. Wenn Du einen neuen Toolbar erzeugst und dieser Platz wegnimmt in Deinem äußeren Frame, dann musst Du das MDI-Frame Window auch kleiner machen. Du darfst nicht einfach den Toolbar unter das Menü kleben und hoffen, das es dies nun war.

    Schau Dir die Sacheim Spy++ an und Du wirst feststellen, dass die Fenster überlappen.

    Bau in Deinem WM_SIZE Handler eine Routine ein, die die Fenster korrekt anordnet.


Anmelden zum Antworten