4D v14.3

Types de fenêtres

Accueil

 
4D v14.3
Types de fenêtres

Types de fenêtres  


 

 

Vous spécifiez le type de fenêtre à ouvrir avec Creer fenetre à l'aide d'une des constantes prédéfinies suivantes (thème "Creer fenetre") :

Constante Type Valeur Commentaire
Fenêtre standard sans zoom Entier long 0
Dialogue modal Entier long 1
Dialogue simple Entier long 2 Utilisable en fenêtre flottante
Dialogue ombré Entier long 3 Utilisable en fenêtre flottante
Fenêtre standard de taille fixe Entier long 4
Dialogue modal déplaçable Entier long 5 Utilisable en fenêtre flottante
Fenêtre standard Entier long 8
Fenêtre à coins arrondis Entier long 16
Fenêtre pop up Entier long 32
Fenêtre feuille Entier long 33
Fenêtre feuille redim Entier long 34
Fenêtre palette Entier long 1984 Utilisable en fenêtre flottante

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.

Voici la description de chaque type de fenêtre, sous Windows (à gauche) et Mac OS (à droite).

  • 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

  • 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

  • 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.

  • 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.

  • 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

  • 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).

  • 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).

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 barre de titre active Entier long 1
Avec case de contrôle de taille Entier long 4
Avec case de zoom Entier long 8
Avec titre de fenêtre Entier long 2
  • 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).

  • 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)

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).

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”.
  • Limitation : à 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 :

 $fen:=Creer fenetre(10;80;-1;-1;Fenêtre standard+Aspect texture;"")

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

Sous Mac OS, 4D permet d’afficher le bouton de gestion de la barre d’outils. Ce bouton standard permet alternativement d’afficher et de masquer la barre d’outils de la fenêtre :

Pour afficher la barre d’outils d'une fenêtre créée à l'aide de la commande Creer fenetre, il suffit d'ajouter la constante Avec bouton barre outils Mac OS. Par exemple :

 $NewWin:=Creer fenetre(10;10;1010;810;Fenêtre standard+Avec bouton barre outils Mac OS)

Lorsque la barre d’outils de la fenêtre est affichée, l'événement formulaire Sur bouton barre outils Mac est généré dans la méthode formulaire lorsque l’utilisateur clique sur le bouton de gestion de la barre d’outils de la fenêtre. Bien entendu, la propriété correspondante doit avoir été cochée dans les propriétés d’événement du formulaire.
Seul l’événement est généré, 4D n’effectue aucune autre action dans la fenêtre. Il revient au développeur de modifier la taille de la fenêtre et d’afficher ou masquer ses éléments d’interface.

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 Creer fenetre externe. Par exemple, ce code crée une fenêtre formulaire avec bouton plein écran sous OS X :

 $fen :=Creer fenetre formulaire([Interface];"Choix_User";Form fenêtre standard+Avec mode plein écran Mac)
 DIALOGUE([Interface];"Choix_User")

Note : Sous Windows, cette option n’a pas d’effet.

 
PROPRIÉTÉS 

Produit : 4D
Thème : Fenêtres
Nom intl. : Window Types

 
VOIR AUSSI  

Creer fenetre
Creer fenetre externe
Creer fenetre formulaire

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v14 R2)
4D - Langage ( 4D v14 R3)
4D - Langage ( 4D v14.3)
4D - Langage ( 4D v14 R4)

Hérité de : Types de fenêtres ( 4D v12.4)