version 11 (Modifiée)
Vous spécifiez le type de fenêtre à ouvrir avec Creer fenetre à l'aide d'une des constantes prédéfinies suivantes :
Constante | Type | Valeur | Fenêtre flottante |
Fenêtre standard | Entier long | 8 | Non |
Fenêtre standard sans zoom | Entier long | 0 | Non |
Fenêtre standard de taille fixe | Entier long | 4 | Non |
Dialogue modal | Entier long | 1 | Non |
Dialogue modal déplaçable | Entier long | 5 | Oui |
Dialogue simple | Entier long | 2 | Oui |
Dialogue ombré | Entier long | 3 | Oui |
Fenêtre palette | Entier long | 1984 | Oui |
Fenêtre à coins arrondis | Entier long | 16 | Non |
Fenêtre pop up | Entier long | 32 | Non |
Fenêtre feuille | Entier long | 33 | Non |
Fenêtre feuille redim | Entier long | 34 | Non |
Aspect métal | Entier long | 2048 | Oui |
Mode compositing | Entier long | 4096 | Oui |
Fenêtres flottantes
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.
Fenêtres modales
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
Vous trouverez ci-dessous une description de chaque type de fenêtre, sous Windows (à gauche) et Mac OS (à droite).
Fenêtre standard (8)
Peut avoir un titre : Oui
Peut comporter une case de fermeture ou un équivalent : Oui
Peut être redimensionnée : Oui
Peut être agrandie/réduite ou "zoomée" : Oui
Adaptée aux barres de défilement : Oui
Utilisation : saisie de données avec des barres de défilement, VISUALISER SELECTION, MODIFIER SELECTION, etc.
Fenêtre standard sans zoom (0)
Peut avoir un titre : Oui
Peut comporter une case de fermeture ou un équivalent : Oui
Peut être redimensionnée : Oui
Peut être agrandie/réduite ou "zoomée" : Non sous Mac OS
Adaptée aux barres de défilement : Oui
Utilisation : saisie de données avec des barres de défilement, VISUALISER SELECTION, MODIFIER SELECTION, etc.
Fenêtre standard de taille fixe (4)
Peut avoir un titre : Oui
Peut comporter une case de fermeture ou un équivalent : Oui
Peut être redimensionnée : Non sous Mac OS
Peut être agrandie/réduite ou "zoomée" : Non
Adaptée aux barres de défilement : Oui et Non
Utilisation : saisie de données par AJOUTER ENREGISTREMENT(...;...*) ou équivalent
Dialogue modal (1)
Peut avoir un titre : Non
Peut comporter une case de fermeture ou un équivalent : Non
Peut être redimensionnée : Non
Peut être agrandie/réduite ou "zoomée" : Non
Adaptée aux barres de défilement : Non
Utilisation : DIALOGUE, AJOUTER ENREGISTREMENT(...;...*) ou équivalent
Les fenêtres de ce type sont modales
Dialogue modal déplaçable (5)
Peut avoir un titre : Oui
Peut comporter une case de fermeture ou un équivalent : Non
Peut être redimensionnée : Non
Peut être agrandie/réduite ou "zoomée" : Non
Adaptée aux barres de défilement : Non
Utilisation : DIALOGUE, AJOUTER ENREGISTREMENT(...;...*) ou équivalent
Les fenêtres de ce type sont modales mais peuvent être déplacées et utilisées comme fenêtres flottantes
Dialogue ombré (3)
Peut avoir un titre : Non
Peut comporter une case de fermeture ou un équivalent : Non
Peut être redimensionnée : Non
Peut être agrandie/réduite ou "zoomée" : Non
Adaptée aux barres de défilement : Non
Utilisation : DIALOGUE, AJOUTER ENREGISTREMENT(...;...*) ou équivalent, sous Mac OS (non standard sous Windows).
Dialogue simple (2)
Peut avoir un titre : Non
Peut comporter une case de fermeture ou un équivalent : Non
Peut être redimensionnée : Non
Peut être agrandie/réduite ou "zoomée" : Non
Adaptée aux barres de défilement : Non
Utilisation : DIALOGUE, AJOUTER ENREGISTREMENT(...;...*) ou équivalent, sous Mac OS (non standard sous Windows).
Fenêtre palette ( 1984 {+ 1} {+ 2} {+ 4} {+ 8} )
Lorsque vous appelez Creer fenetre, vous pouvez additionner une ou plusieurs constantes supplémentaires (listées ci-dessous) à la constante Fenêtre palette afin de créer des variantes ayant des comportements différents :
Constante | Type | Valeur |
Avec case de zoom | Entier long | 8 |
Avec case de contrôle de taille | Entier long | 4 |
Avec titre de fenêtre | Entier long | 2 |
Avec barre de titre active | Entier long | 1 |
Peut avoir un titre : Oui si la variante Avec titre de fenêtre est spécifiée
Peut comporter une case de fermeture ou un équivalent : Oui
Peut être redimensionnée : Oui si la variante Avec case de contrôle de taille est spécifiée
Peut être agrandie/réduite ou "zoomée" : Oui si la variante Avec case de zoom est spécifiée
Adaptée aux barres de défilement : Oui si la variante Avec case de contrôle de taille est spécifiée
Utilisation : fenêtres flottantes avec DIALOGUE ou VISUALISER SELECTION (pas de saisie de données).
Fenêtre à coins arrondis (16)
Peut avoir un titre : Oui
Peut comporter une case de fermeture ou un équivalent : Oui
Peut être redimensionnée : Non sous Mac OS
Peut être agrandie/réduite ou "zoomée" : Non
Adaptée aux barres de défilement : Non
Utilisation : rare (obsolète)
Fenêtre pop up (32)
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".
Fenêtre feuille (33) et Fenêtre feuille redim (34)
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).
Utilisation : DIALOGUE, AJOUTER ENREGISTREMENT(...;...*) ou équivalent, sous Mac OS (non standard sous Windows).
Aspect métal (2048)
Sous Mac OS, il est possible d'appliquer l'apparence "métal" 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 "métal" à une fenêtre générée par la commande Creer fenetre, il suffit d'ajouter la constante Aspect métal au type de fenêtre défini dans le paramètre type. Par exemple :
$fen:=Creer fenetre(10;80;-1;-1;Fenêtre standard+Aspect métal;"")
Cette apparence peut être associée aux types de fenêtres suivants :
Fenêtre standard Fenêtre standard sans zoom Fenêtre standard de taille fixe Dialogue modal déplaçable Fenêtre à coins arrondis
Mode compositing (4096)
Le mode "compositing" est un mode de gestion interne des fenêtres sous Mac OS X, désormais préconisé par Apple. Dans 4D, ce mode est notamment requis pour l'affichage de certains objets dynamiques tels que les Zones Web.
Pour des raisons historiques, ce mode n'est pas utilisé dans toutes les fenêtres de 4D. Il est toujours utilisé par la commande Creer fenetre formulaire et les formulaires projet exécutés depuis le mode Développement. En revanche, les fenêtres générées via la commande Creer fenetre ne l'utilisent pas par défaut. Pour l'activer, il est nécessaire de passer la constante Mode compositing lors de l'appel de la commande.
Sous Windows, cette propriété est sans effet.
Note : Certains objets d'ancienne architecture ne sont pas compatibles avec le mode compositing (par exemple les zones 4D Chart). S'ils sont affichés dans des fenêtres en mode compositing, ces objets ne fonctionneront pas.
Référence
Creer fenetre, Creer fenetre externe.