Aller au contenu principal
Version: 20 R7 BETA

Open form window

Open form window ( {laTable ;} nomForm {; type {; posH {; posV {; *}}}} ) : Integer

ParamètreTypeDescription
laTableTableTable du formulaire ou Table par défaut si ce paramètre est omis
nomFormText, ObjectNom du formulaire table ou projet (chaîne), ouChemin POSIX (chaîne) d'un fichier .json décrivant le formulaire, ouObjet décrivant le formulaire
typeIntegerType de la fenêtre
posHIntegerPosition horizontale de la fenêtre
posVIntegerPosition verticale de la fenêtre
*OpérateurConserver la position et la taille précédentes de la fenêtre
RésultatIntegerNuméro de référence de la fenêtre

Cette commande n'est pas thread-safe, elle ne peut pas être utilisée dans du code préemptif.

Description

La commande Open form window crée une nouvelle fenêtre utilisant les propriétés de taille et de redimensionnement du formulaire nomForm, passé en paramètre.

Note : Utilisez la commande FORM GET PROPERTIES pour connaître les propriétés du formulaire.

Dans le paramètre nomForm, vous pouvez passer :

  • le nom d'un formulaire (formulaire projet ou formulaire table) à utiliser,
  • le chemin (en syntaxe POSIX) d'un fichier .json valide contenant la description du formulaire à utiliser (voir Chemin d'accès du formulaire),
  • un objet contenant la description du formulaire à utiliser.

A noter que le formulaire nomForm n’est pas affiché dans la fenêtre créée. Il vous appartient, si vous le souhaitez, d’afficher le formulaire (par exemple à l’aide de la commande ADD RECORD).

Le paramètre optionnel type vous permet de spécifier un type de fenêtre. Ce paramètre doit contenir une des constantes prédéfinies suivantes, placées dans le thème "Creer fenetre formulaire" :

ConstanteTypeValeur
Controller form windowEntier long133056
Form has full screen mode MacEntier long65536
Form has no menu barEntier long2048
Modal form dialog boxEntier long1
Movable form dialog boxEntier long5
Movable form dialog box no titleEntier long524293
Palette form windowEntier long1984
Plain form windowEntier long8
Plain form window no titleEntier long524296
Pop up form windowEntier long32
Sheet form windowEntier long33
Toolbar form windowEntier long35

Les types de fenêtres utilisables avec Open form window sont détaillés dans la section Types de fenêtres.

Note : Les constantes Form has full screen mode Mac et Form has no menu bar doivent être ajoutées à l'une des autres constantes de type.

Par défaut, si le paramètre type n’est pas passé, la fenêtre créée est de type Plain form window.

Case de fermeture Les fenêtres de type Movable form dialog box, Plain form window et Palette form window comportent une case de fermeture. Aucune méthode n’est associée à cette case de fermeture : un clic sur la case de fermeture provoquera simplement l’annulation du formulaire, sauf si l’événement On Close Box est activé pour le formulaire, auquel cas le code associé à cet événement sera exécuté.

Contrôle de taille
Si les propriétés "Taille de la fenêtre" du formulaire nomForm ne sont pas fixes, la fenêtre créée peut être redimensionnée par l'utilisateur. Une case de zoom peut également être disponible, suivant le type de la fenêtre. Si la propriété Largeur fixe et/ou Hauteur fixe est cochée dans les propriétés du formulaire, la taille de la fenêtre ne pourra pas être modifiée.

Note : Certains attributs de la fenêtre créée (case de contrôle de taille, case de fermeture...) dépendent des spécifications d'interface du système d'exploitation pour le type choisi. Il est donc possible d'obtenir des résultats différents en fonction de la plate-forme.

Le paramètre optionnel posH vous permet de définir l’emplacement horizontal de la fenêtre. Vous pouvez passer une coordonnée fixe exprimée en pixels ou l’une des constantes prédéfinies suivantes, placées dans le thème "Creer fenetre formulaire" :

ConstanteTypeValeur
Horizontally centeredEntier long65536
On the leftEntier long131072
On the rightEntier long196608

Le paramètre optionnel posV vous permet de définir l’emplacement vertical de la fenêtre. Vous pouvez passer une coordonnée fixe exprimée en pixels, ou l’une des constantes prédéfinies suivantes, placées dans le thème "Creer fenetre formulaire" :

ConstanteTypeValeur
At the bottomEntier long393216
At the topEntier long327680
Vertically centeredEntier long262144

Ces paramètres sont exprimés relativement au coin supérieur gauche de la zone de contenu de la fenêtre de l'application (Windows en mode MDI) ou de l'écran principal (macOS et Windows en mode SDI). Ils tiennent compte de la présence de la barre d’outils et de la barre de menus.

Si vous passez le paramètre optionnel *, la position et la taille courantes de la fenêtre sont mémorisées au moment où elle est refermée. Lorsque la fenêtre est réouverte par la suite, elle conserve sa position et sa taille précédentes. Dans ce cas, les paramètres posV et posH ne sont utilisés que pour la première ouverture de la fenêtre.

Exemple 1

L’instruction suivante ouvre une fenêtre standard avec case de fermeture automatiquement ajustée à la taille du formulaire “Entrée”. La taille de fenêtre du formulaire n'est pas fixe, la fenêtre comporte donc également une case de contrôle de taille et une case de zoom :

 $refFen:=Open form window([Table1];"Entrée")

Exemple 2

L’instruction suivante ouvre, en haut et à gauche de l’écran, une palette flottante basée sur un formulaire projet nommé "Outils". Cette palette conservera sa précédente position à chaque nouvelle ouverture :

 $refFen:=Open form window("Outils";Palette form window;On the left;At the top;*)

Exemple 3

Ce code doit être appelé alors qu'une fenêtre document est affichée, par exemple depuis un bouton de formulaire sous macOS :

 $maFenêtre:=Open form window("sheet form";Form fenêtre feuille)
  // A cet instant la fenêtre est créée mais reste invisible
 DIALOG([Table];"formDial")
  //l'événement Sur chargement est généré puis la fenêtre feuille est affichée, elle "descend"
  //du dessous de la barre de titre

Exemple 4

L'exemple suivant utilise le chemin d'un fichier .json décrivant un formulaire permettant d'afficher les enregistrements d'une liste d'employés :

 Open form window("/RESOURCES/OutputPersonnel.json";Plain form window)
 ALL RECORDS([Personnel])
 Open form window("/RESOURCES/OutputPersonnel.json";*)

Résultat :

Voir aussi

FORM GET PROPERTIES
Open window
Types de fenêtres
Types de fenêtres (compatibilité)