4D v16.3

Types de fenêtres

Accueil

 
4D v16.3
Types de fenêtres

Types de fenêtres  


 

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

Constante Type Valeur
Form dialogue modal Entier long 1
Form dialogue modal déplaçable Entier long 5
Form fenêtre standard Entier long 8
Form fenêtre pop up Entier long 32
Form fenêtre feuille Entier long 33
Form fenêtre barre outils Entier long 35
Form fenêtre palette Entier long 1984
Form avec mode plein écran Mac Entier long 65536

Cette section illustre chaque type de fenêtre, sous Windows (à gauche) et macOS (à droite).

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.

  • 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" : Oui
  • 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

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

Ce type de fenêtre dispose de propriétés avancées spécifiques :

  • La fenêtre ne peut pas avoir de case de fermeture mais 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.
    • Depuis la version 13 de 4D, ce type de fenêtre ne permet pas l'affichage des infobulles sous Mac OS.

Les fenêtres feuilles (sheet windows) sont des fenêtres spécifiques de l’interface macOS. 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 macOS 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 :
    • 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 3 de la commande Creer fenetre formulaire).
  • Utilisation : DIALOGUE, AJOUTER ENREGISTREMENT(...;...*) ou équivalent, sous macOS (non standard sous Windows).

Une fenêtre de type "barre outils" est créée avec l'emplacement, la taille et les propriétés graphiques d'une barre d'outils, c'est-à-dire :

  • La fenêtre est toujours affichée juste sous la barre de menus.
  • La largeur de la fenêtre est automatiquement ajustée afin de remplir tout l'espace horizontal disponible sur le bureau (sous macOS) ou dans la fenêtre principale de 4D (sous Windows). La hauteur de la fenêtre est basée sur les propriétés du formulaire.
  • La fenêtre n'a pas de bordure, elle ne peut pas être déplacée ni redimensionnée manuellement.
  • Il n'est pas possible de créer simultanément plus d'une barre d'outils par process.

Barre d'outils et mode plein écran sous OS X : Si votre application affiche à la fois une fenêtre barre d'outils et une fenêtre standard qui prend en charge le mode plein écran (option Form avec mode plein écran Mac), les règles d'interface préconisent que la barre d'outils soit masquée lorsque la fenêtre standard passe en mode plein écran. Pour savoir si une fenêtre est passée en mode plein écran, il vous suffit de tester si sa hauteur est identique à celle de l'écran (cf. commande CACHER BARRE OUTILS).

Ce type de fenêtre permet de générer des palettes flottantes redimensionnables ou non. Seules les options suivantes sont prises en charge :

OptionValeur à passer sous WindowsValeur à passer sous macOS
Non redimensionnable-(Fenêtre palette+2)-Fenêtre palette
Redimensionnable-(Fenêtre palette+6)-(Fenêtre palette+6)

  • Peut avoir un titre : Oui s'il est passé
  • Peut être redimensionnée : Oui si la valeur appropriée est passée
  • Utilisation : fenêtres flottantes avec DIALOGUE ou VISUALISER SELECTION (pas de saisie de données).

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)

L'option "plein écran" est disponible depuis 4D v14 sous macOS 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 Form avec mode plein écran Mac au paramètre type. Par exemple, ce code crée une fenêtre formulaire avec bouton plein écran sous macOS :

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

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



Voir aussi  

Creer fenetre formulaire

 
PROPRIÉTÉS 

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

 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)