4D v16.3

Types de fenêtres (compatibilité)

Accueil

 
4D v16.3
Types de fenêtres (compatibilité)

Types de fenêtres (compatibilité)  


 

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.

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

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)

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

 $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

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 :

 $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  

_o_Creer fenetre externe
Creer fenetre
Creer fenetre formulaire

 
PROPRIÉTÉS 

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

 
HISTORIQUE 

New
Renommé : 4D v16

 
UTILISATION DE L'ARTICLE

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