Startseite ¦  was ist neu ¦  programmier tips ¦  indy artikel ¦  intraweb artikel ¦  informationen ¦  links ¦  interviews ¦  sonstiges
kylix ¦  tutorials ¦  online shop ¦  fotos ¦  Add&Win Gewinnspiel


Willkommen Gast. Bitte einloggen oder registrieren.
21.05.2012, 11:54:50
Übersicht Hilfe Suche Einloggen Registrieren

+  SwissDelphiCenter Forum
|-+  German Forums
| |-+  Einsteiger Forum
| | |-+  Bei Maximieren die Form Proportional anpassen
« vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: Bei Maximieren die Form Proportional anpassen  (Gelesen 2708 mal)
AXE-Daemon
Jr. Member
**
Offline Offline

Beiträge: 74



« am: 17.03.2002, 20:02:43 »

Wenn ich eine Form maximiere, möchte ich gerne , das der Inhalt(Twebbrowser, Edit´s, label´s,panels,usw.) in der Größe mit angepaßt werden! Und natürlich auch wieder verkleinert werden, wenn ich die Form minimiere, denn sonst ist ja immer ein riesiger unschöner grauer Bereich beim vergrößern zu sehen! PLZ Help. THX
Gespeichert
Loïs Bégué
Global Moderator
Hero Member
*****
Offline Offline

Beiträge: 1718



WWW
« Antworten #1 am: 17.03.2002, 22:06:19 »

Bei den meisten Komponente gibt es eine Eigenschaft "Align".
Wenn Du es auf "alClient" setzt, dann versucht die Kompo immer den "verfügbaren" Platz einzunehmen: sie vergrößert/verkleinert sich entsprechend.

Probiere folgendes aus, um das ganze nachzuvollziehen:

Auf ne Form plaziere zunächst ein TPanel. Setzte Align auf "alLeft" und stelle die Breite vom Panel auf ca. 1/3 der Form-Breite.
Im rechten Bereich der form plaziere dann einen zweiten TPanel. Align kriegt jetzt den Wert "alClient"...siehe da...maximiere die Form...minimiere...Voila !-)

Gruß,
Gespeichert

Prof.Y
Arpoon
Simon Grossenbacher
Administrator
Sr. Member
*****
Offline Offline

Beiträge: 450


WWW
« Antworten #2 am: 17.03.2002, 22:06:52 »

Alle visuellen Komponente haben eine Eigenschaft Align.

Mit der kannst du einstellen, dass sich die Komponenten Grösse anpasst wenn die Form in der Grösse geändert wird.

Beispiel mit 2 Panels:

Dem Panel1 gibst du als Align = alLeft - dieses Panel bleibt nun immer am linken Rand der Form, und wird nur in der Höhe der Grösse angepasst.

Rechts neben Panel1 setzt du Panel2 mit Align = alClient. Dieses Panel füllt nun den restlichen Platz der Form aus und wird sowohl in der Höhe wie auch in der Breite dem auszufüllenden Platz angepasst.
Gespeichert

Simon Grossenbacher
Simon Grossenbacher
Administrator
Sr. Member
*****
Offline Offline

Beiträge: 450


WWW
« Antworten #3 am: 17.03.2002, 22:08:25 »

He Lois, schon komisch dass beide das gleiche Beispiel schreiben nicht ? :)
Gespeichert

Simon Grossenbacher
Loïs Bégué
Global Moderator
Hero Member
*****
Offline Offline

Beiträge: 1718



WWW
« Antworten #4 am: 17.03.2002, 22:09:24 »

Ist alt ein Klassiker :o)

*G*
Gespeichert

Prof.Y
Arpoon
AXE-Daemon
Jr. Member
**
Offline Offline

Beiträge: 74



« Antworten #5 am: 17.03.2002, 22:18:44 »

Danke euch beiden erstmal für die Antwort! Was muß ich aber machen, wenn ich über dem Panel noch Buttons oder Edit´s habe? Denn das Panel setzt sich denn darüber?!
Gespeichert
Rainer
Hero Member
*****
Offline Offline

Beiträge: 1666


WWW
« Antworten #6 am: 18.03.2002, 00:56:49 »

Du musst die Edits und Buttons auf dem Panel platzieren. Wenn Du die Edits und Buttons jedoch schon auf dem Formular hast kannst Du sie markieren und über Bearbeiten -] Auschneiden (Strg + X) Auschneiden und dann auf das Panel klicken und dort wieder mittels Strg + V (bzw. Bearbeiten -] Einfügen) wieder einfügen.
Gespeichert

MfG Rainer

end.
Loïs Bégué
Global Moderator
Hero Member
*****
Offline Offline

Beiträge: 1718



WWW
« Antworten #7 am: 18.03.2002, 01:16:33 »

Du kannst die anderen Komponente in einem TPanel aufstellen.
Dieses TPanel bekommt fakulativ einen festen Platz auf dem Formular z.B. mit einem Align= alTop so daß er sich nur in der Breite ändern kann (Konzequenz von alTop oder alBottom). Mit alLeft oder alRight würde die Breite konstant bleiben und die Höhe sich dafür wenn Du vergrößert/verkleinerst anpassen. Probiere es aus.

Code:
Hier sind 2 TPanels gemeint mit jeweils verschiedenen Komponente drauf...



------------------------------------

|         EDITFELD                 |  mit Align=alTop

|                       BUTTON     |

------------------------------------

|                                  |

|     TREEVIEW                     |  mit Align=alClient

|                                  |

|                                  |

------------------------------------

Nicht jede Struktur auf einem Formular läßt sich leicht "dimensionieren". Man fängt normalerweise auf einer Seite (links oder recht oder oben oder unten)  an, die Kompos zu plazieren, die Ihre Größe nicht ändern sollen. Dann plaziert man im noch "freien" Bereich die "veränderbaren" Sachen.

Nimm als Beispiel den Datei-Explorer an: wenn Du es vergrößert, bleibt die Ordner-Anzeige gleich breit. Die Dateiliste wird aber dafür breiter... Die Höhe paßt sich bei beide an. Das heißt: die Ordner-Anzeige hat einen Align=alLeft verpaßt bekommen...und die Dateiliste einen alClient.

Es gibt theoretisch auch die möglichkeit "alles" auf dem Formular in der Größe zu skalieren. Dafür muß man aber mindestens für ein Element selbst dafür sorgen, daß die Breite sich auch ändert (also würde man z.B. die Ordner-Anzeige proportional zu Vergrößerungsfaktor (positiv oder negativ) eine neue Breite "verpassen". Das Problem dabei ist eben dieser Faktor:
es läßt sich nicht so leicht ermitteln bzw. es gibt immer wieder Strukturen, die sich nicht partout und überall bezwingen lassen.
Aber denke dran: die Explorer-Technik sollte allemal reichen. Mir fällt eigentlich kein Programm ein, wo alles in der Größe angepaßt wird...

Gruß,
Gespeichert

Prof.Y
Arpoon
AXE-Daemon
Jr. Member
**
Offline Offline

Beiträge: 74



« Antworten #8 am: 19.03.2002, 22:22:30 »

Danke an euch! Es klappt wunderbar! Muß man nur wissen ;-)
Gespeichert
Seiten: [1] Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS