Certains types de fenêtres présentés dans cette section sont liés à d'anciennes versions des OS et de 4D. Ce thème ainsi que la commande Creer fenetre sont conservés uniquement pour des raisons de compatibilité. Lorsque vous écrivez du nouveau code de gestion des fenêtres, il est fortement recommandé d'utiliser la commande Creer fenetre formulaire, mieux adaptée aux interfaces actuelles.
Si vous passez une de ces constantes à Creer fenetre, vous créez une fenêtre standard. Pour ouvrir une fenêtre flottante, passez un type de fenêtre négatif à Creer fenetre. Les fenêtres flottantes ont pour caractéristique principale de rester au premier plan même si l'utilisateur clique dans une autre fenêtre du process. Les fenêtres flottantes sont généralement utilisées pour afficher des informations permanentes ou des barres d'outils.
Une fenêtre modale place l'utilisateur dans un état (ou “mode”) où il ne peut agir qu'à l'intérieur de la fenêtre. Tant qu'une fenêtre modale est affichée, les commandes de menu et les autres fenêtres de l'application sont inaccessibles. Pour refermer une fenêtre modale, l'utilisateur doit la valider, l'annuler ou utiliser une des options qu'elle propose. Les boîtes de dialogue d'alerte sont des exemples typiques de fenêtres modales. Dans 4D, les fenêtres de type 1 et 5 sont modales.
Note : Une fenêtre modale reste toujours au premier plan. Par conséquent, lorsqu'une fenêtre modale appelle une fenêtre non modale, cette dernière s'affiche en arrière-plan, bien qu'elle ait été appelée postérieurement. Il ne faut donc pas effectuer ce type d'opération. En revanche, lorsqu'une fenêtre modale appelle une autre fenêtre modale, cette dernière s'affiche au premier plan.
Note : Avec ce type de fenêtre, l'ensemble (constante + option) doit toujours être passé en valeur négative. Attention à passer par exemple -(Fenêtre palette+6) et non (-Fenêtre palette+6)
Les fenêtres feuilles (sheet windows) sont des fenêtres spécifiques de l’interface Mac OS X. Ces fenêtres “descendent” de la barre de titre de la fenêtre principale via une animation et s’affichent par-dessus celle-ci. Elles sont automatiquement centrées dans la fenêtre principale. Leurs propriétés sont comparables à celles des boîtes de dialogue modales. Elles sont généralement utilisées pour effectuer une action en relation directe avec celle se déroulant dans la fenêtre principale.
Il n’est possible de créer une fenêtre feuille sous Mac OS X que si la dernière fenêtre ouverte est visible et de type document (formulaire).
La commande crée une fenêtre de type 1 (Dialogue modal) au lieu du type 33 et de type 8 (Fenêtre standard) au lieu du type 34 :
si la dernière fenêtre ouverte n’est pas visible ou n’est pas de type document,
sous Windows.
Comme une fenêtre feuille doit être dessinée par-dessus un formulaire, son affichage est repoussé dans l’événement Sur chargement du premier formulaire chargé dans la fenêtre (cf. exemple 4 de la commande Creer fenetre).
Ce type de fenêtre reprend les caractéristiques essentielles du type Dialogue simple (2) et dispose de propriétés avancées spécifiques :
La fenêtre est automatiquement refermée avec annulation lorsque :
un clic se produit en-dehors de la fenêtre ;
la fenêtre d’arrière-plan ou la fenêtre MDI est déplacée ;
l’utilisateur appuie sur la touche Echap (ou Esc).
Cette fenêtre s’affiche devant une fenêtre “parente” (elle ne doit d'ailleurs pas être utilisée comme fenêtre principale d’un process). La fenêtre d’arrière-plan n’est pas désactivée. En revanche, elle ne reçoit plus d’événement.
Il n’est pas possible de redimensionner ou de déplacer la fenêtre à l’aide de la souris ; toutefois, lorsque cette opération est effectuée par programmation, le redessinement des éléments d’arrière-plan est optimisé.
Utilisation : ce type de fenêtre est particulièrement adapté à la prise en charge des pop up menus associés aux boutons 3D de type “bevel” ou “barres outils”.
Limitations :
Il n'est pas possible d'afficher un objet pop up menu à l'intérieur d'une fenêtre de ce type.
A compter de la version 13 de 4D, ce type de fenêtre ne permet pas l'affichage des infobulles sous Mac OS.
Sous Mac OS, il est possible d’appliquer l’apparence “texturée” aux fenêtres. Ce type d'apparence est largement répandu dans l'interface Macintosh. Sous Windows, cette propriété est sans effet.
Pour appliquer l’apparence “texture” à une fenêtre générée par la commande Creer fenetre, il suffit d'ajouter la constante Aspect texture au type de fenêtre défini dans le paramètre type. Par exemple :
L'option "plein écran" est disponible à compter de 4D v14 sous OS X pour les fenêtres de type document. Lorsque cette option est utilisée, le bouton "Plein écran" est affiché dans l’angle supérieur droit de la fenêtre :
Lorsque l’utilisateur clique sur cette icône, la fenêtre passe en plein écran et 4D masque automatiquement la barre d’outils principale. Pour utiliser cette option, il suffit d’ajouter la constante Avec mode plein écran Mac au paramètre type pour les commandes Creer fenetre, Creer fenetre formulaire et _o_Creer fenetre externe. Par exemple, ce code crée une fenêtre formulaire avec bouton plein écran sous OS X :