4D v16.3

FORM SET SIZE

Home

 
4D v16.3
FORM SET SIZE

FORM SET SIZE 


 

FORM SET SIZE ( {Objekt ;} horizontal ; vertikal {; *} )  
Parameter Typ   Beschreibung
Objekt  String in Objektname mit Angabe der Formulargrenzen
horizontal  Lange Ganzzahl in Mit *: Horizontaler Rand (Pixel)
Ohne *: Breite (Pixel)
vertikal  Lange Ganzzahl in Mit *: Vertikaler Rand (Pixel)
Ohne *: Höhe (Pixel)
Operator in Mit *: Fügt Formularränder hinzu, definiert durch Horizontal und Vertikal
Ohne Stern: Verwendet Horizontal und Vertikal als Breite und Höhe des Formulars.
Gilt nicht für objektbasierte Größe.

Der Befehl FORM SET SIZE ändert die Größe des aktuellen Formulars per Programmierung. Die neue Größe wird für den aktuellen Prozess definiert; sie wird nicht mit dem Formular gespeichert. Analog zur Designumgebung können Sie diesen Befehl zum Setzen der Formulargröße folgendermaßen verwenden:

  • Automatisch — 4D bestimmt die Größe des Formulars so, dass alle Objekte sichtbar sind — und fügt evtl. einen horizontalen und vertikalen Rand hinzu.
  • An der Stelle, wo ein Formularobjekt gefunden wird, dem ein horizontaler und vertikaler Rand hinzugefügt werden kann.
  • Durch Eingeben “fester” Größen (Breite und Höhe).
  • Automatische Größe

Weitere Informationen dazu finden Sie im Abschnitt Formulargröße des Handbuchs 4D Designmodus.

Automatische Größe
Um die Größe des Formulars automatisch zu setzen, verwenden Sie folgende Syntax:

 FORM SET SIZE(horizontal;vertikal;*)

In diesem Fall übergeben Sie in horizontal und vertikal die Ränder in Pixel, die Sie im Formular rechts und unten hinzufügen wollen.

Objektbasierte Größe
Um die Größe des Formulars objektbezogen zu setzen, verwenden Sie folgende Syntax:

 FORM SET SIZE(Objekt;horizontal;vertikal)

In diesem Fall müssen Sie in horizontal und vertikal die Ränder in Pixel übergeben, die Sie dem Objekt rechts und unten hinzufügen wollen. Sie können nicht den Parameter * übergeben.

Feste Größe
Um die Größe des Formulars mit fester Größe einzurichten, verwenden Sie folgende Syntax:

 FORM SET SIZE(horizontal;vertikal)

In diesem Fall übergeben Sie in horizontal und vertikal die Breite und Höhe (in Pixel) des Formulars.
FORM SET SIZE verändert die Größe des Formulars, berücksichtigt aber auch die Eigenschaften zum Anpassen. Ist z.B. für ein Formular als Mindestbreite 500 Pixel angegeben und setzt der Befehl die Breite auf 400 Pixel, wird die neue Formularbreite auf 500 Pixel gesetzt.
Beachten Sie auch, dass dieser Befehl nicht die Größe des Formularfensters verändert. (Sie können ein Formular ohne Verändern der Größe und umgekehrt anpassen). Um die Größe des Formulars anzupassen, verwenden Sie den Befehl RESIZE FORM WINDOW.

Folgendes Beispiel zeigt, wie ein Fenster vom Typ Explorer eingerichtet wird. In der Designumgebung wird folgendes Formular erstellt:

Die Größe des Formulars ist “automatisch”.

Das Fenster wird über folgenden Code angezeigt:

 $ref:=Open form window([Table 1];"Form1";Plain form window;Horizontally centered;
 Vertically centered;*)
 DIALOG([Table 1];"Form1")

Sie können den rechten Teil des Fensters über das Kontrollkästchen am unteren Rand ein- bzw. ausblenden:

Die dazugehörige Objektmethode lautet:

 Case of
    :(Form event=On Load)
       C_BOOLEAN(b1;<>zugeklappt)
       C_LONGINT(margin)
       margin:=15
       b1:=<>zugeklappt
       If(<>zugeklappt)
          FORM SET HORIZONTAL RESIZING(False)
          FORM SET SIZE("b1";margin;margin)
       Else
          FORM SET HORIZONTAL RESIZING(True)
          FORM SET SIZE("tab";margin;margin)
       End if
 
    :(Form event=On click)
       <>collapsed:=b1
       If(b1)
  `zugeklappt
          OBJECT GET COORDINATES(*;"b1";$l;$t;$r;$b)
          GET WINDOW RECT($lf;$tf;$rf;$bf;Current form window)
          SET WINDOW RECT($lf;$tf;$lf+$r+margin;$tf+$b+margin;Current form window)
          FORM SET HORIZONTAL RESIZING(False)
          FORM SET SIZE("b1";margin;margin)
 
       Else
  `aufgeklappt
          OBJECT GET COORDINATES(*;"tab";$l;$t;$r;$b)
          GET WINDOW RECT($lf;$tf;$rf;$bf;Current form window)
          SET WINDOW RECT($lf;$tf;$lf+$r+margin;$tf+$b+margin;
          Current form window)
          FORM SET HORIZONTAL RESIZING(True)
          FORM SET SIZE("tab";margin;margin)
       End if
 End case



Siehe auch 

FORM SET HORIZONTAL RESIZING
FORM SET VERTICAL RESIZING

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Formulare
Nummer: 891

 
GESCHICHTE 

Erstellt: 4D 2004
Umbenannt: 4D v12

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)