Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
FORM SET SIZE
|
FORM SET SIZE ( {objet ;} horizontal ; vertical {; *} ) | ||||||||
Paramètre | Type | Description | ||||||
objet | Chaîne |
![]() |
Nom d’objet indiquant les limites du formulaire | |||||
horizontal | Entier long |
![]() |
Si * passé : marge horizontale (pixels) Si * omis : largeur (pixels) |
|||||
vertical | Entier long |
![]() |
Si * passé : marge verticale (pixels) Si * omis : hauteur (pixels) |
|||||
* | Opérateur |
![]() |
• Si passé, utiliser horizontal et vertical comme marges du formulaire • Si omis, utiliser horizontal et vertical comme largeur et hauteur du formulaire Ce paramètre ne peut pas être passé si objet est passé |
|||||
La commande FORM SET SIZE permet de modifier par programmation la taille du formulaire courant. La nouvelle taille est définie pour le process courant, elle n’est pas stockée avec le formulaire.
Comme en mode Développement, cette commande permet de définir la taille d’un formulaire de trois manières :
Taille automatique
Pour que le formulaire ait une taille automatique, vous devez utiliser la syntaxe suivante :
FORM SET SIZE(horizontal;vertical;*)
Taille basée sur un objet
Pour que la taille du formulaire soit basée sur un objet, vous devez utiliser la syntaxe suivante :
FORM SET SIZE(objet;horizontal;vertical)
Taille en valeur absolue
Pour passer une taille de formulaire absolue, vous devez utiliser la syntaxe suivante :
FORM SET SIZE(horizontal;vertical)
La commande FORM SET SIZE modifie la taille du formulaire mais tient compte de ses propriétés de redimensionnement. Par exemple, si la largeur minimale du formulaire est de 500 pixels et si la commande définit une largeur de 400 pixels, la nouvelle largeur du formulaire sera de 500 pixels.
A noter également que cette commande ne modifie pas la taille de la fenêtre du formulaire (il est possible de redimensionner un formulaire sans que la taille de la fenêtre soit modifiée, et inversement). Pour modifier la taille de la fenêtre d’un formulaire, reportez-vous à la description de la commande RESIZE FORM WINDOW.
Voici un exemple de mise en place d’une fenêtre de type Explorateur. Le formulaire suivant est défini en mode Développement :
La taille du formulaire est “automatique”.
La fenêtre est affichée via l’instruction suivante :
$ref:=Open form window([Table 1];"Form1";Form fenêtre standard;Centrée horizontalement;Centrée verticalement;*)
DIALOG([Table 1];"Form1")
CLOSE WINDOW
La partie droite de la fenêtre peut être affichée ou masquée via un clic sur l’option d’agrandissement/réduction :
La méthode objet associée à ce bouton est la suivante :
Case of
:(FORM Event.code=On Load)
C_BOOLEAN(b1;<>contracté)
C_LONGINT(marge)
marge:=15
b1:=<>contracté
If(<>contracté)
FORM SET HORIZONTAL RESIZING(False)
FORM SET SIZE("b1";marge;marge)
Else
FORM SET HORIZONTAL RESIZING(True)
FORM SET SIZE("onglet";marge;marge)
End if
:(FORM Event.code=On Clicked)
<>contracté:=b1
If(b1)
`contracté
OBJECT GET COORDINATES(*;"b1";$g;$h;$d;$b)
GET WINDOW RECT($gf;$hf;$df;$bf;Current form window)
SET WINDOW RECT($gf;$hf;$gf+$d+marge;$hf+$b+marge;Current form window)
FORM SET HORIZONTAL RESIZING(False)
FORM SET SIZE("b1";marge;marge)
Else
`déployé
OBJECT GET COORDINATES(*;"onglet";$g;$h;$d;$b)
GET WINDOW RECT($gf;$hf;$df;$bf;Current form window)
SET WINDOW RECT($gf;$hf;$gf+$d+marge;$hf+$b+marge;Current form window)
FORM SET HORIZONTAL RESIZING(True)
FORM SET SIZE("onglet";marge;marge)
End if
End case
Produit : 4D
Thème : Formulaires
Numéro :
891
Créé : 4D 2004
Renommé : 4D v12 (SET FORM SIZE)
4D - Langage ( 4D v20 R7)