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 MDI-Tücken (2) (https://www.delphipraxis.net/7750-mdi-tuecken-2-a.html)

Taladan 20. Aug 2003 14:49


MDI-Tücken (2)
 
Ich nutze ein MDI Programm und hab vorher schöne Fenster gestaltet ohne MDI. Ein Fenster soll immer angezeigt werden, im vollbild. Soweit kein Problem. Doch wenn ich jetzt weitere Fenster öffne, werden sie auch im Vollbildmodus geöffnet, was ich gar nicht möchte. Denn wenn die unterfenster haben kleine Abmaßungen und deshalb verschiebt sich der ganze inhalt nach oben links.

Gibt es eine Möglichkeit das die elemente als gruppe im mittelpunkt bleiben?

Alexander 20. Aug 2003 14:53

Re: MDI-Tücken (2)
 
Ähm du könntest doch die FEnster selbst positionieren (Stichwort MDIForm.Top und Left), z.b. im OnShow-Event...

Aber um ehrlich zu sein, so ganz habe ich deine Frage nciht verstanden :mrgreen:

Taladan 20. Aug 2003 15:37

Re: MDI-Tücken (2)
 
Entweder soll das Fenster halt im mittelpunkt bleiben, sieht aber dann unschön aus, weil ja dann das Nebenfenster, welches immer offen bleiben soll an den seiten hindurchguckt, zudem dieses dann seinen status als vollbild verliehrt, und bei geschlossenen unterfenster noch dä...cher aussieht.

Deshalb soll die zu öffnende form als vollbild angezeigt werden, aber die bedienelemente in der mitte bleiben. Problem tritt auch bei herrkömlichen fenstern auf. du designst eine schöne Oberfläche, aber wenn du es auf vollbild stellst, klebt das program nur unten und rechts was an die form dran, dadurch wird dein design in die linke obere ecke verfrachtet, statt in der mitte zu bleiben. ich hoffe jetzt verstehst du...

Alexander 20. Aug 2003 15:49

Re: MDI-Tücken (2)
 
Mhm naja mal schaun...

Du kannst dir ja mal OnResize ankucken, das Event wird immer dann ausgelöst, wenn sich zb die Größe des Forms ändert. Und wenn du es dir einfahc machen willst so kannst du zb viele Buttons etc auf ein Panel setzen und je nachdem vergrößern oder verkleinern. Oder du suchst dir was schickes bei der Align-Eigenschaft aus :mrgreen: Oftmals reicht das schon aus...
So mache ich das zumindest immer...
Ich hoffe ich habe so ungefähr das getroffen, was du gefragt hast :mrgreen:

Wenn nciht, vielleicht hilft es das Problem an Hand von Screenshots zu erklären...

PS: Ich weiß dass ich mich manchmal dumm anstellen kann :mrgreen:

Helld_River 20. Aug 2003 15:50

Re: MDI-Tücken (2)
 
Spontan fällt mir dazu folgendes ein:
Lege deine Komponenten auf ein Panel, welches eine feste Größe hat. Im OnShow-Ereigniss rechnest Du dann die Mitte des Fensters aus und positionierst das Panel entsprechend !

Bsp.:
Delphi-Quellcode:
Panel.left:=(Form1.ClientWidth-Panel.Width) div 2;

Gruß, Helld

Taladan 20. Aug 2003 16:40

Re: MDI-Tücken (2)
 
Klapt dankää

Alexander 20. Aug 2003 16:55

Re: MDI-Tücken (2)
 
Juhu, ich habe so das GEfühl, dass ich beim letzten mal richtig lag....

OnShow würde ich nciht nehmen, nimm wie gesagt, OnResize, denn dann wird es auch ncoh mal angepasst, wenn sich die größe des Forms ändert
:dancer: :dancer2:

Helld_River 20. Aug 2003 18:29

Re: MDI-Tücken (2)
 
Im Grunde genommen hast Du recht. OnResize ist natürlich besser. Da ich aber irgendwann einmal das Problem hatte, dass mir genau in solch einem Fall die komplette Anwendung "geflimmert" hat (soll heissen, OnResize wurde etliche male hintereinander aufgerufen) benutze ich seit dem stets das OnShow.

Jedem das sein ! (mir das Meiste ?!?! :dancer: )


GRuß, Helld.


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