Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Auflösung (ich weis das gibts schon 100 mal) (https://www.delphipraxis.net/174362-aufloesung-ich-weis-das-gibts-schon-100-mal.html)

beanbear6 18. Apr 2013 17:28


Auflösung (ich weis das gibts schon 100 mal)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,
ich hab eine Form mit mehreren Buttons und vielen Edit-Feldern.
Diese sind auf zwei Panels verteilt. Mit Anchors hab ich nun versucht,
die Felder so zu legen, dass diese sich bei Formvergrößerung mit
in der Breite vergrößern. Leider überlappen die Panels und ich kriegs nicht
hin, dass sich das zweite (rechte) panel mit nach rechts verschiebt, so dass
das erste (linke) Panel nicht überlappt.
Hab Screenshot beigefügt.
Im Linken Bild ist die normalgröße da passt alles, im
rechten Bild sieht man die Überlappung...
Kann mir bitte jemand nen tip geben wie man sowas lösen kann??
Danke für jede Hilfe.
Gruß aus Passau

Ralf Kaiser 18. Apr 2013 17:47

AW: Auflösung (ich weis das gibts schon 100 mal)
 
Hallo,

eigentlich ein klassischer Fall für ein TGridPanel

Ciao,
Ralf

stahli 18. Apr 2013 18:18

AW: Auflösung (ich weis das gibts schon 100 mal)
 
In neueren Delphi-Versionen gibt es Align und AlignWithMargins.
In D5 immerhin doch schon Align, oder?
Wenn Du Abstände ohne AlignWithMargins einhalten willst, dann wird das schwierig.

Ob es GridPanel schon für D5 gibt, weiß ich nicht.

Ggf. solltest Du die Positionen einfach im OnResize-Event des Parent berechnen.
Ist auch nicht weiter schwierig und manchmal die beste Lösung.

beanbear6 19. Apr 2013 06:48

AW: Auflösung (ich weis das gibts schon 100 mal)
 
Oh sorry,
meine Daten stimmen nicht mehr ganz. Ich hab
derzeit Delphi 7 Enterprise - wird gleich
geändert.

Aber auch in D7 hab ich nur Align und Anchors...
Hm... was kann man da noch machen?
Ich finde in D7 kein GridPanel...

Ich hab leider keinen Ansatz, wie ich das mit
OnResize berechnen könnte... Wohl nicht einfach hm?
Gruß Reiner

Furtbichler 19. Apr 2013 07:10

AW: Auflösung (ich weis das gibts schon 100 mal)
 
Delphi-Quellcode:
leftPanel.Left := LinkerAbstand;
rightPanel.Left := leftPanel.Right + Abstand;
usw.
Wenn Du die Breite noch ändern willst und vielleicht die Panels gleich breit und füllend in der Form, dann berechnest Du das eben einfach.

Delphi-Quellcode:
leftPanel.Width := (leftPanel.Parent.ClientWidth - Abstand - 2*LinkerAbstand) div 2;
leftPanel.Left := LinkerAbstand;
rightPanel.Left := leftPanel.Right + Abstand;
rightPanel.Width := leftPanel.Parent.ClientWidth-leftPanel.Width-2*LinkerAbstand-Abstand;
Ungetestet.

beanbear6 19. Apr 2013 07:12

AW: Auflösung (ich weis das gibts schon 100 mal)
 
Hi,
vieeelen Dank Dir! Ich werde das gleich mal testen...
Gruß aus Passau
Reiner

beanbear6 19. Apr 2013 15:51

AW: Auflösung (ich weis das gibts schon 100 mal)
 
Hi Furtbichler,
habs getestet und eingebaut, EINFACH GENIAL!!!!!
Vielen Dank Dir hast mir sehr geholfen!
Grüßlie


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