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 Alignment von MDIChild in MDIForm verhindern (https://www.delphipraxis.net/9460-alignment-von-mdichild-mdiform-verhindern.html)

st2000 26. Sep 2003 18:08


Alignment von MDIChild in MDIForm verhindern
 
Hallo,

ich versuche, ein zur Laufzeit generiertes MDIChild-Formular auf den rechten 2/3 des Mainforms zu platzieren. Dabei soll der User das Form nicht verschieben können.

Leider bleibt das Childform nie da, wo ich es per Left/Top/Width/Height hinparametrisiere.

Nutze ich Align-right, ordnet Delphi es so weit rechts und unten an, daß Scrollbars erscheinen, obwohl diese im Mainform mit Scrollbar.visible:=false deaktiviert sind.

Schalte ich Align aus, und regle es mit Left:=300, wird das Childform dennoch ganz links angeordnet, als wäre Left:=0.

Hintergrund ist, daß ganz links eine Treeview-Komponente direkt auf dem Mainform liegt, und nur der Raum rechts daneben soll mit Formularen belegt werden.

Weiß jemand, wie ich dem Childform eine wirklich strikte Vorgabe machen kann, an welchen Koordinaten es exakt liegen soll ? Denn von der Größe her paßt es in den Raum rein, Scrollbars wären gar nicht nötig.

Für Eure Tips schon mal DANKE :love:

Gruss,
Stefan

Honie 28. Sep 2003 12:47

Re: Alignment von MDIChild in MDIForm verhindern
 
Hi,

mach es doch einfacher:

Lege die TTReeView Componente nicht direkt auf das Mainform,
sondern plaziere ein TPanle mit align = alleft auf das MainForm.

Hierauf dann die TTreeView Componente (mit align := alClient). Mit einem TSplitter kannst Du
dann sogar zur Laufzeit dem User gestatten die Größe des TPanels und somit
des TTreeViews zu bestimmen.

Der Client-Bereich des TMainForm reduziert sich dann um das Panel und alle MDI Childs
ordnen sich rechts davon an. (Können das Panel nicht mehr verdecken.)

Gruß
Holger

st2000 29. Sep 2003 10:25

Funzt ! Ein Superriesen - DANKE - schööön !!
 
Hey Holger,

Supertip ! Läuft 1a !

Dabei lags so nahe. Hatte es schon vorher mit einem Panel rechts versucht, lief aber nicht, da es unter dem Treeview hindurch immer ganz links bei left:=0 ansetzte. Habs dann verworfen.
War schon so frustriert und geistig vernagelt, es mal mit Panel links zu versuchen, war mir gar nicht mehr in den Sinn gekommen... :wall:

Den Splitter hab ich auch genommen. Klappt ja super, hab damit noch nie was gemacht. Dachte immer, dann muß man die Größenänderungen selbst per Eventhandler programmieren. Manchmal ists doch einfacher, als man denkt.

Vielen Dank nochmal !!! :thuimb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:06 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