DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Champs, pages et fenêtres / Fonctions de gestion des fenêtres
  • Ouverture de la fenêtre popup
  • Caractéristiques de la fenêtre popup
  • Limites
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Ouvre une fenêtre de type popup dont le résultat sera récupéré par une procédure WLangage (également appelée "Callback").
Exemple
// Ouverture d'une fenêtre popup sans passage de paramètres 
OuvrePopupAsynchrone(FEN_ChoixCouleur, popEnDessous + popAlignéAGauche + popSelonChamp, 
"BTN_CouleurAction", onFermeChoixCouleur)
PROCÉDURE INTERNE onFermeChoixCouleur(CouleurChoisie)
IMG_PRODUIT.Couleur = CouleurChoisie
FIN
// Ouverture d'une fenêtre popup avec passage de paramètres 
OuvrePopupAsynchrone(FEN_ChoixCouleur, popEnDessous + popAlignéAGauche + popSelonChamp, 
"BTN_CouleurAction", onFermeChoixCouleur, RougeFoncé)
PROCÉDURE INTERNE onFermeChoixCouleur(CouleurChoisie)
SI CouleurChoisie <> -1 ALORS
IMG_PRODUIT.Couleur = CouleurChoisie
FIN
FIN
Syntaxe
OuvrePopupAsynchrone(<Fenêtre> [, <Paramètres> [, <Mode d'ouverture> [, <Champ de référence>]]] [, <Procédure WLangage>])
<Fenêtre> : Nom de fenêtre
Nom de la fenêtre à ouvrir.
<Paramètres> : Chaîne de caractères
Liste des paramètres à passer à la fenêtre. Cette liste de paramètres est de la forme :
(<Paramètre 1>, ..., <Paramètre N>)

où :
  • <Paramètre 1> : Premier paramètre à passer à l'événement "Déclarations globales" de la fenêtre à ouvrir. Ce paramètre est passé par valeur et il est considéré comme une variable globale à la fenêtre.
    Ce paramètre ne peut pas correspondre à une variable de type tableau (les tableaux peuvent uniquement être passés par référence).
  • <Paramètre N> : Nième paramètre à passer à l'événement "Déclarations globales" de la fenêtre à ouvrir. Ce paramètre est passé par valeur et il est considéré comme une variable globale à la fenêtre.
    Ce paramètre ne peut pas correspondre à une variable de type tableau (les tableaux peuvent uniquement être passés par référence).
Si aucun paramètre ne doit être passé à la fenêtre, ce paramètre doit correspondre à "()".
<Mode d'ouverture> : Combinaison de constantes
Précise la position et le mode d'ouverture de la fenêtre popup. Ces constantes sont les suivantes :
popAlignéADroiteLe bord droit de la fenêtre popup sera calé sur le bord droit du champ. La fenêtre popup s'étend sur la gauche.
popAlignéAGaucheLe bord gauche de la fenêtre popup sera calé sur le bord gauche du champ. La fenêtre popup s'étend sur la droite.
popAuDessusLa fenêtre popup s'ouvrira au dessus du champ appelant.
popCentréFenêtreLa fenêtre popup est centrée par rapport à la fenêtre parente.
popCentréHorizontalementLa fenêtre popup est centrée horizontalement avec le champ appelant.
popDéfaut
(Valeur par défaut)
Par défaut, la combinaison de constantes popAlignéAGauche + popEnDessous est utilisée.
popDésactiveRepostionnementAutoDébranche le repositionnement automatique si la fenêtre popup risque de ne pas être complètement visible à l'écran.
Android Non disponible.
popEnDessousLa fenêtre popup s'ouvrira au dessous du champ appelant.
popSelonChampOuvre la fenêtre popup en fonction de la position d'un champ différent du champ appelant. Dans ce cas:
  • il faut préciser le nom du champ (paramètre <Nom du champ>).
  • le nom du champ sera automatiquement récupéré par le mot-clé MonChampPopup.
<Champ de référence> : Nom de champ optionnel
Nom du champ sous lequel la fenêtre popup doit s'ouvrir. Ce paramètre doit être précisé uniquement si la constante popSelonChamp a été utilisée.
<Procédure WLangage> : Nom de procédure ou procédure lambda optionnelle
Nom de la procédure WLangage (appelée "callback") appelée après la fermeture de la fenêtre. Pour plus de détails sur cette procédure, consultez Paramètres de la procédure utilisée par la fonction OuvrePopupAsynchrone.
Cette procédure WLangage peut correspondre à :
  • un nom de procédure globale,
  • un nom de procédure interne,
  • une procédure lambda.
Remarques

Ouverture de la fenêtre popup

  • L'ouverture de la fenêtre via la fonction OuvrePopupAsynchrone est modale et asynchrone :
    • l'exécution du code continue sans attendre la fermeture de la fenêtre popup,
    • la procédure WLangage sera appelée lorsque la fenêtre popup sera fermée.
    • si l'utilisateur clique à côté dans une autre fenêtre, la fenêtre popup sera fermée.

Caractéristiques de la fenêtre popup

  • La fenêtre popup se ferme automatiquement si elle perd le focus ou lors de l'appel à la fonction Ferme.
  • La fenêtre ouverte par la fonction OuvrePopupAsynchrone adopte le style des fenêtres popup. Si une barre de titre a été définie sous l'éditeur, cette barre de titre est réduite et la fenêtre ne peut être maximisée ou réduite.
  • La fenêtre popup s'ouvre par défaut sous le champ qui exécute la fonction OuvrePopupAsynchrone. Si il n'y a pas assez de place pour ouvrir la fenêtre, la fenêtre s'ouvrira soit au-dessus du champ, soit au-dessous du champ vers la gauche.

Limites

  • La fonction OuvrePopupAsynchrone doit être exécutée à partir d'un code de champ.
  • Le champ à partir duquel la fonction OuvrePopupAsynchrone est exécutée doit être visible.
  • Il n'est pas possible d'ouvrir à partir d'une fenêtre popup une fenêtre qui n'est pas modale. Il est nécessaire d'utiliser la fonction Ouvre pour ouvrir une fenêtre. L'ouverture d'une fenêtre modale depuis une fenêtre popup ne ferme pas automatiquement la fenêtre popup. Dans ce cas, il faut traiter la valeur de retour de la fonction Ouvre et utiliser la fonction Ferme pour fermer la fenêtre popup.
  • Il n'est pas possible d'ouvrir une fenêtre popup depuis une fenêtre popup.
Composante : wd290obj.dll
Version minimum requise
  • Version 27
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 22/06/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale