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 Open form window à l'aide d'une des constantes prédéfinies suivantes (thème "Creer fenetre formulaire") :

Constante Type Valeur
Modal form dialog box Entier long 1
Movable form dialog box Entier long 5
Plain form window Entier long 8
Pop up form window Entier long 32
Sheet form window Entier long 33
Toolbar form window Entier long 35
Palette form window Entier long 1984
Form has full screen mode 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 : DIALOG, ADD RECORD(...;...*) 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 : DIALOG, ADD RECORD(...;...*) 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, DISPLAY SELECTION, MODIFY 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 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 On Load du premier formulaire chargé dans la fenêtre (cf. exemple 4 de la commande Open window).
  • Utilisation : DIALOG, ADD RECORD(...;...*) ou équivalent, sous Mac OS (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 has full screen mode 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 HIDE TOOL BAR).

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-(Palette window+2)-Palette window
Redimensionnable-(Palette window+6)-(Palette window+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 DIALOG ou DISPLAY 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 -(Palette window+6) et non (-Palette window+6)

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 Has full screen mode Mac au paramètre type pour les commandes Open window, Open form window et _o_Open external window. Par exemple, ce code crée une fenêtre formulaire avec bouton plein écran sous OS X :

 $fen :=Open form window([Interface];"Choix_User";Plain form window+Form has full screen mode Mac)
 DIALOG([Interface];"Choix_User")

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



Voir aussi  

Open form window

 
PROPRIÉTÉS 

Produit : 4D
Thème : Fenêtres

 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

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