Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi MDIChild - Problem mit maximierter Darstellung (https://www.delphipraxis.net/38938-mdichild-problem-mit-maximierter-darstellung.html)

eddy 26. Jan 2005 13:48


MDIChild - Problem mit maximierter Darstellung
 
Hallo Leute,

für ein neues Projekt habe ich mich mit MDIForm und MDIChild beschäftigt. Auf dem Hauptformular gibt es eine Symbolleiste und bei Klick auf diverse Buttons soll jeweils ein zugeordnetes MDIChild-Formular maximiert erscheinen. Minimieren oder Schließen oder Normalgröße des Child-Formulars einzustellen ist unerwünscht.

Auffällig ist, daß OnActivate vom MDIForm beim Programmstart gar nicht mehr angesprochen wird, was ich für diverse Initialisierungen nicht so lustig finde (aber dieses Problem läßt sich sicher umgehen bzw. anders lösen).

Richtig auf die Nerven geht mir, daß die Einstellung
Code:
FChild.WindowState := wsMaximized;
ignoriert wird, sobald ich statt
Code:
BorderIcons := [biSystemMenu, biMaximize];

BorderIcons := [];
verwende. Ich hab's im Objektinspektor geändert und im Quellcode, sobald ich die Klammern leer sind, erhalte ich nur noch "kleine" Child's.

Auf dem HauptFormular soll ein Button angeklickt werden und mit
Code:
FChild.BringToFront;
wird dieses auf die Oberfläche zur Benutzung gelegt. Sobald aber das Child nicht mehr über den Status wsMaximized verfügt, werden alle Child's unerwünscht klein dargestellt.

Mein Versuch, mit
Code:
 FChild.WindowState := wsMaximized;
FChild.BringToFront;
führt zu bösartigen Zuckungen auf dem Bildschirm, bevor das Child wieder maximiert ist.

Kann mir jemand bei der Lösung dieses Problems weiterhelfen.

mfg
eddy

Stevie 26. Jan 2005 16:08

Re: MDIChild - Problem mit maximierter Darstellung
 
Hi,

irgendwie scheint mir deine Vorgehensweise als Vergewaltigung der MDI-Technik...
Bei deinem Fall wäre es besser mit einem PageControl und Frames zu arbeiten.

MfG
Stevie

eddy 26. Jan 2005 18:26

Re: MDIChild - Problem mit maximierter Darstellung
 
Hallo Stevie,

mit PageControll und Panelen habe ich die Dinge bisher gehandelt. Da wird es zur Entwurfszeit schnell unübersichtlich.

Sinn von den Formularen ist es ja wohl auch, übersichtlich für verschiedene voneinander abgegrenzte Aufgabengebiete Verwendung zu finden.

Nur was kann ich dafür, daß die MDI-Technik unlogisch oder fehlerhaft funktioniert. Wieso "vergißt" ein MDIChild, daß es wsMaximized ist, nur weil BorderIcons = [] ist? Und warum sollte ich mich mit diesem seltsamen Verhalten von MDIChild zufrieden geben, wenn vielleicht jemand weiß, wie man es in den Griff bekommt?

Aber vielleicht kann ich meine Wünsche mit den von Dir vorgeschlagenen Frames realisieren. Muß ich mir aber erstmal ansehen!



mfg
eddy

Robert_G 26. Jan 2005 22:35

Re: MDIChild - Problem mit maximierter Darstellung
 
Das was du bemängelst ist das Standardverhalten einer klssischen MDI Oberfläche.
MDI ist cool, aber ich persönlich verwende nur noch Docking um ein MultiDocumentInterface zu erreichen.
Da hat man kein Chaos mehr im Fenster und es wird kein Pixel mit einem inhaltlosen und damit sinnlosen Fomhintergrund verschwendet. ;)
Schaue dir mal die Docking Demo von Delphi an. In Verbindung mit einem TTabSet kann das für den Anfang ganz nette Ergebnisse liefern. ;)

eddy 27. Jan 2005 10:21

Re: MDIChild - Problem mit maximierter Darstellung
 
Hallo Robert_G,

danke für den Tip. Ich hab' mir die Demo mal angesehen, aber auf den 1. und 2. Blick nicht feststellen können, daß ich damit meine Vorstellungen realisieren kann.

@Stevie
Inzwischen habe ich mir aber die Frames mal angesehen. Sieht bisher gut aus, man muß nur das Ein- und Ausschalten verwalten (Show, Hide). Ansonsten kein Flackern (wie bei MDIChild) und keine Probleme mit der Größenänderung. Konnte meine o.g. Vorstellungen damit realisieren.

mfg
eddy


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz