version 2004 (Modifiée)
Creer fenetre (gauche; haut; droite; bas{; type{; titre{; caseFermeture}}}){ RefFen }
Paramètre | Type | Description | |
gauche | Numérique | Coordonnée gauche de l'intérieur de la fenêtre | |
haut | Numérique | Coordonnée supérieure de l'intérieur de la fenêtre | |
droite | Numérique | Coordonnée droite de l'intérieur de la fenêtre | |
bas | Numérique | Coordonnée inférieure de l'intérieur de la fenêtre | |
type | Numérique | Type de la fenêtre | |
titre | Alpha | Titre de la fenêtre | |
caseFermeture | Alpha | Méthode à appeler en cas de double-clic sur la case | |
du menu Système ou de clic sur la case de | |||
fermeture | |||
Résultat | RefFen | Numéro de référence de la fenêtre |
Description
Creer fenetre ouvre une nouvelle fenêtre dont les dimensions sont définies par les quatre premiers paramètres :
gauche est la distance en pixels entre le côté gauche de la fenêtre de l'application et le côté intérieur gauche de la fenêtre.
haut est la distance en pixels entre le haut de la fenêtre de l'application et le bord supérieur de l'intérieur de la fenêtre.
droite est la distance en pixels entre le côté gauche de la fenêtre de l'application et le côté intérieur droit de la fenêtre.
bas est la distance en pixels entre le haut de la fenêtre de l'application et le bord inférieur de l'intérieur de la fenêtre.
Si vous passez -1 dans droite et bas, vous indiquez à 4D qu'il faut redimensionner automatiquement la fenêtre si les conditions suivantes sont réunies :
Vous avez conçu un formulaire et défini ses options de dimensionnement dans la fenêtre des propriétés des formulaires du mode Développement.
Avant d'appeler Creer fenetre vous avez sélectionné le formulaire à l'aide de la commande FORMULAIRE ENTREE, à laquelle vous avez passé le paramètre optionnel *.
Important : Ce dimensionnement automatique de la fenêtre n'aura lieu que si vous avez au préalable appelé la commande FORMULAIRE ENTREE pour le formulaire que vous allez afficher dans la fenêtre, et si vous lui avez passé le paramètre optionnel *.
Le paramètre type est optionnel. Il définit le type de fenêtre que vous souhaitez afficher, et correspond aux différentes fenêtres présentées dans la section Types de fenêtres. Si le type passé est négatif, la fenêtre sera flottante. Si le type n'est pas spécifié, le type 1 est utilisé par défaut.
Le paramètre titre indique le titre (optionnel) de la fenêtre.
Si vous passez une chaîne de caractères vide ("") dans titre, vous indiquez à 4D d'utiliser les valeurs saisies dans la zone Nom de la fenêtre de la fenêtre des Propriétés du formulaire en mode Développement pour le titre du formulaire que vous allez afficher dans la fenêtre.
Important : Le nom par défaut du formulaire ne sera appliqué à la fenêtre que si vous avez appelé la commande FORMULAIRE ENTREE pour le formulaire que vous allez afficher dans la fenêtre et si vous lui avez passé le paramètre optionnel *.
Le paramètre caseFermeture, optionnel, désigne la méthode de gestion de la fermeture de la fenêtre. Si ce paramètre est passé, la case du menu Système (sous Windows) ou une case de fermeture (sous Mac OS) est ajoutée à la fenêtre. Lorsque l'utilisateur Windows double-clique sur la case du menu Système ou que l'utilisateur Mac OS clique sur la case de fermeture, la méthode passée dans caseFermeture est exécutée.
Note : Vous pouvez aussi gérer la fermeture à partir de la méthode du formulaire affiché dans la fenêtre pendant l'événement Sur case de fermeture. Pour plus d'informations sur ce point, reportez-vous à la commande Evenement formulaire.
Si plusieurs fenêtres sont ouvertes dans le même process, la dernière fenêtre créée est la fenêtre active (de premier plan) du process. Seules les informations situées dans la fenêtre active peuvent être modifiées. Toutes les autres fenêtres peuvent être visualisées. Lorsque l'utilisateur tape une touche du clavier, la fenêtre active vient toujours se placer au premier plan, si elle n'y est pas déjà.
Les formulaires sont affichés à l'intérieur de fenêtres ouvertes à l'écran. Le texte passé à la commande MESSAGE est également affiché dans une fenêtre.
Exemples
(1) La méthode projet suivante ouvre une fenêtre centrée dans la fenêtre principale (sous Windows) ou dans l'écran principal (sous Mac OS). Notez qu'elle accepte deux, trois ou quatre paramètres :
` Méthode projet OUVRIR FENETRE CENTREE ` $1 Largeur de la fenêtre ` $2 Hauteur de la fenêtre ` $3 Type de la fenêtre (optionnel) ` $4 Titre de la fenêtre (optionnel) $SW:=Largeur ecran\2 $SH:=(Hauteur ecran\2)-10 $WW:=$1\2 $WH:=$2\2 Au cas ou : (Nombre de parametres=2) Creer fenetre($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH) : (Nombre de parametres=3) Creer fenetre($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3) : (Nombre de parametres=4) Creer fenetre($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3;$4) Fin de cas
Une fois que cette méthode projet est écrite, vous pouvez l'utiliser de la manière suivante :
OUVRIR FENETRE CENTREE (400;250;Dialogue simple;"Mise à jour Archives") DIALOGUE([Table outils];"OPTIONS MAJ") FERMER FENETRE Si (OK=1) ` ... Fin de si
(2) L'exemple suivant crée une fenêtre flottante comportant une case de menu système (sous Windows) ou une case de fermeture (sous Mac OS). La fenêtre est créée dans le coin supérieur droit de la fenêtre de l'application.
Creer fenetre(Largeur ecran-149;33;Largeur ecran-4;178;-Fenêtre palette;"";"caseFermeture") DIALOGUE([Dialogues];"Palette de couleurs")
La méthode caseFermeture appelle la commande NE PAS VALIDER :
NE PAS VALIDER
(3) L'exemple suivant ouvre une fenêtre dont le titre et la taille proviennent des propriétés du formulaire affiché dans la fenêtre :
FORMULAIRE ENTREE([Clients];"Ajout d'enregistrements";*) Creer fenetre(10;80;-1;-1;Fenêtre standard;"") Repeter AJOUTER ENREGISTREMENT([Clients]) Jusque (OK=0)
Rappel : Pour que la fonction Creer fenetre utilise automatiquement les propriétés du formulaire, vous devez avoir appelé FORMULAIRE ENTREE avec le paramètre optionnel * et les propriétés du formulaire doivent avoir été définies en fonction de cette utilisation.
(4) Cet exemple illustre le mécanisme de "retard" d'affichage des fenêtres feuille sous Mac OS X :
$maFenêtre:=Creer fenetre(10;10;400;400;Fenêtre feuille) `A cet instant la fenêtre est créée mais reste invisible DIALOGUE([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
Référence
Creer fenetre externe, Creer fenetre formulaire, FERMER FENETRE.