Steuerelemente in MDI-Container überlagern MDI-Kindfenster



  • Hallo,

    wenn ich die IsMdiContainer-Eigenschaft einer Form auf true setze, auf eben dieser Form ein Steuerelement platziere und dann ein MDI-Kindfenster erstelle, wird das Steuerelement vor dem MDI-Kindfenster gezeichnet. Eigentlich hatte ich erhofft, dass das Kindfenster das Steuerelement überlagert.
    Ich nehme stark an, dass MDI-Container eben nicht dazu gedacht sind Steuerelemente zu beherbergen, gibt es trotzdem eine Lösung für dieses Problem?



  • Du kannst einen Splitter einsetzen, in diesem Deine Controls plazieren. Der Rest des Splitters wird dann für die MDI Geschichte verwendet.

    Wenn das Fenster dann "hinter" den Splitter geschoben wird, schaut das so aus:

    http://rothmichael.de/cpp/splitter.png



  • Danke für die Antwort, leider kann ich das Layout der als MDI-Container fungierenden Form nicht verändern. (Es geht letztendlich um eine fertige Form mit vielen Steuerelementen, deren Kindfenster aus rein optischen Gründen in ihr selbst angezeigt werden sollen. Wenn sich das nicht verbinden lässt, ist es auch nicht schlimm.)



  • Solltest Du einen Weg finden, Poste ihn doch bitte. Wird sicherlich einigen noch Hilfreich sein (und hätt ich manchmal auch schon gern gehabt).



  • Werde ich tun, große Hoffnung besteht aber nicht.
    Im konkreten Fall habe ich einen möglichst unauffälligen MDI-Container um die Form gelegt, die eigentlich als MDI-Container fungieren sollte. Mit den MdiChildActivate-, ControlAdded- und ControlRemoved-Events ließ sich das Ursprungsverhalten der Anwendung dann ganz gut nachbilden. Aus Sicht des Anwenders ist damit alles in Butter, eine richtig saubere Lösung wäre natürlich trotzdem schöner.


Anmelden zum Antworten