Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Form anpassen


Maa83 - Do 27.02.03 14:39
Titel: Form anpassen
Hallo
gibt es irgendeine Methode ein Formular an die größe anzupassen.
Man könnte zwar auf onResize reagieren ist aber ziemlich umständlich jedes Element anzupassen.
Ausserdem wäre es cool wenn sich das Fenster auch der Auflösung entsprechend anpassen würde

danke schonmal

maa


torstenheinze - Do 27.02.03 16:45

wie meinst du das mit dem element?

wenn ich dich richtig verstanden haben, dann könntest du mal anchors benutzen, probiers einfach mal aus


Moritz M. - Do 27.02.03 17:02

er meint dass sich die elemente in der größe der formgröße anpassen.

Mach die Form doch einfach auf fsSingel. Dann hat sich das.


Maa83 - Do 27.02.03 17:33

fsSingel gibt es nicht
es gibt nur bei borderStyle bsSingel und das bringt nichts

ich möchte z.B. das sich die ComboBoxen je nach Größe des Formulars daran anpassen.

und das wäre schön wenns dafür irgendeine Methode gibt da es bei der Menge an Komponenten sehr mühsam ist dieses von Hand zu machen.
(Anchors, Align ...)


Moritz M. - Do 27.02.03 17:38

oha, sorry, meinte bsSingel


Tino - Sa 01.03.03 13:11

Maa83 hat folgendes geschrieben:
und das wäre schön wenns dafür irgendeine Methode gibt da es bei der Menge an Komponenten sehr mühsam ist dieses von Hand zu machen.

Aber Du weißt es doch jetzt wie es funktioniert, oder?

Gruß
TINO


tommie-lie - Sa 01.03.03 13:55

bsSingle? Was ist denn das für ein billiger Workaround? Er will doch die Elemente automatisch anordnen, nicht dem User verbieten das Fenster zu resizen!

Versuch's mal mit Anchors. Damit kannst du die Position am Rand absolut festlegen. Wenn du zum Beispiel einen Anchor auf akBottom setzt, bleibt das Elemnt immer konstant an den unteren Rand ausgerichtet. Wenn es 20 Pixel vom Rand entfernt war, bleibt es auch da, egal die groß die Form wird (Element wird nach unten veschoben). Wenn du dann auch noch gleichzeitig akTop aktivierst, bleibt der obere und untere Rand absolut ausgerichtet, Fazit: Element wird größer, sodaß der aboere und untere Rand immer gleich weit vom Fensterrand entfernt ist. Um für jedes Element die richtige Kombination der Anchors rauszufinden muss man ein wenig probieren. Bei Buttons macht das setzen von zwei gegenüberliegenden Anchors (Top und Bottom oder Left und Right) keinen Sinn, weil dann der Button größer wird und beschissen ausseiht, wenn sich die Beschriftung nicht auch vergrößert. Außerdem sieht's noch beschissener aus, wenn das Fenster nur nach unten vergrößert wird, jedoch nicht in der Horizontalen.

Align spielt da eigentlich eine eher untergeordnete Rolle. Das ist eigentlich nur dafür zu gebrauchen, so Sachen wie eine Statusleiste oder sowas immer am ganzen Rand auszurichten (Breite/Höhe passt sich an), nicht jedoch um ein Element frei im Fenster auszurichten.