DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Champs, pages et fenêtres / Fonctions de gestion des fenêtres
  • Paramètres passés à la fenêtre fille à ouvrir
  • Mode d'ouverture de la fenêtre
  • Position de la fenêtre mère
  • Ouverture d'une même fenêtre plusieurs fois
  • Limitations
  • Fermeture d'une fenêtre
  • Titre de la fenêtre à ouvrir
  • Ouvrir une fenêtre d'un composant
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 fille non modale. La fonction OuvreFille permet également de :
  • définir la position d'affichage de la fenêtre fille,
  • passer des paramètres à la fenêtre fille.
Lors de l'appel de la fonction OuvreFille, les événements suivants sont exécutés :
  • code "Déclarations globales" de la fenêtre fille,
  • codes d'initialisation des champs (l'ordre est indéterminé),
  • traitements/événements suivant l'appel de la fonction OuvreFille de la fenêtre mère,
  • affichage de la fenêtre fille.
Remarque : Par défaut, la fenêtre fille conserve le focus une fois ouverte.
WEBDEV - Code ServeurWindowsLinux Cette fonction est disponible uniquement pour simplifier la Webisation de projets WINDEV. Dans un site WEBDEV, cette fonction se comporte comme la fonction PageAffiche.
// Ouverture de la fenêtre fille "FEN_SaisieFenêtre"
// sans positionnement et sans passage de paramètres
OuvreFille(FEN_SaisieFenêtre)
// Ouverture de la fenêtre fille "FEN_SaisieFenêtre".
// La valeur du champ "SAI_SaisieClient" est passée en paramètre à l'événement
// "Déclarations globales" de la fenêtre "FEN_SaisieFenêtre".
OuvreFille(FEN_SaisieFenêtre, SAI_SaisieClient)
// -- Evénement "Déclarations globales" de la fenêtre "FEN_SaisieFenêtre"
// Récupération des paramètres
PROCÉDURE FEN_SaisieFenêtre(Client)
HLitRecherche(Client, NomClient, Client)
SI HTrouve() = Vrai ALORS
FichierVersEcran()
SINON
Erreur("Aucun client ne correspond")
FIN
Syntaxe

Ouvrir une fenêtre fille Masquer les détails

OuvreFille(<Fenêtre> [, <Paramètre 1> [... [, <Paramètre N>]]])
<Fenêtre> : Chaîne de caractères ou nom de fenêtre
  • Nom de la fenêtre fille à ouvrir.
  • Nom et chemin complet de la fenêtre fille (fichier ".WDW") à ouvrir.
    Universal Windows 10 AppAndroidJava Il n'est pas possible d'indiquer le nom complet du fichier à ouvrir (fichier ".WDW").
WINDEV Pour ne pas donner le focus à la fenêtre ouverte, utilisez la notation <Nom de la fenêtre> + SansFocus. Le traitement de prise de focus de la fenêtre fille ne sera pas exécuté. Attention, dans ce cas, le nom de la fenêtre doit être entre guillemets.
<Paramètre 1> : Type de la valeur envoyée à la fenêtre (optionnel)
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> : Type de la valeur envoyée à la fenêtre (optionnel)
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).

Ouvrir une fenêtre fille en définissant sa position et son niveau d'affichage Masquer les détails

OuvreFille(<Nom de la fenêtre [ + <Niveau>]> [, <Paramètre 1> [... [, <Paramètre N>]]])
<Nom de la fenêtre [ + <Niveau>]> : Chaîne de caractères + Constante de type entier
Permet d'indiquer :
  • la fenêtre à ouvrir (<Nom de la fenêtre>). Ce paramètre peut correspondre au :
    • Nom de la fenêtre fille à ouvrir.
    • Nom et chemin complet de la fenêtre fille (fichier ".WDW") à ouvrir.
      Universal Windows 10 AppAndroidJava Il n'est pas possible d'indiquer le nom complet du fichier à ouvrir ".WDW".
    Par défaut, la fenêtre est affichée selon la position définie sous l'éditeur. Il est possible de définir la position d'affichage de la fenêtre. Le nom de la fenêtre est alors complété par les coordonnées d'affichage de la fenêtre à son ouverture. Ce paramètre est de la forme :
    "[<Alias>] = <Nom de la fenêtre> [, <Y>, <X>]"

    où :
    • <Alias> : alias de la fenêtre si la même fenêtre est ouverte plusieurs fois.
    • <Nom de la fenêtre> : nom de la fenêtre fille à ouvrir.
      WINDEV Pour ne pas donner le focus à la fenêtre ouverte, utilisez la notation <Nom de la fenêtre> + SansFocus. L'événement "Prise de focus" de la fenêtre fille ne sera pas exécuté. Attention, dans ce cas, le nom de la fenêtre doit être entre guillemets.
    • <Y> : coordonnée verticale (abscisse en pixels) d'affichage de la fenêtre (par rapport au coin haut gauche de l'écran ou de la fenêtre mère).
    • <X> : coordonnée horizontale (ordonnée en pixels) d'affichage de la fenêtre (par rapport au coin haut gauche de l'écran ou de la fenêtre mère).
    Remarques :
    • Universal Windows 10 App Les paramètres <X> et <Y> ne sont pas disponibles.
    • Si la fenêtre est déclarée centrée sous l'éditeur, les coordonnées sont ignorées. Il est conseillé d'utiliser la fonction FenTaille pour modifier la position d'affichage d'une fenêtre.
  • le niveau d'affichage de la fenêtre (<Niveau>) :
    DessusFenêtre ouverte au-dessus de toutes ses fenêtres soeurs.
    DessusToutFenêtre ouverte au-dessus de toutes les autres fenêtres (y compris les fenêtres des autres applications).
    Universal Windows 10 AppAndroidJava Constante non disponible.

    Si une de ces constantes est utilisée, le nom de la fenêtre doit obligatoirement être entouré de guillemets.
    Remarque : Si deux fenêtres sont ouvertes avec la même constante (Dessus ou DessusTout), la seconde fenêtre sera ouverte au-dessus de la première fenêtre.
    Il est conseillé d'utiliser la fonction FenEtat pour modifier le niveau d'affichage d'une fenêtre.
    Universal Windows 10 App Paramètre non disponible.
<Paramètre 1> : Type de la valeur envoyée à la fenêtre (optionnel)
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> : Type de la valeur envoyée à la fenêtre (optionnel)
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).
Remarques

Paramètres passés à la fenêtre fille à ouvrir

Les paramètres sont récupérés dans l'événement "Déclarations globales" de la fenêtre. Il suffit d'indiquer en début de code la ligne suivante :
PROCEDURE <Nom de la fenêtre> (<Paramètre1> [, <Paramètre2> [, ...]])
Ces paramètres sont passés par valeur et non par référence.
Pour plus de détails, consultez Fenêtre paramétrée.

Mode d'ouverture de la fenêtre

L'ouverture de la fenêtre est non modale :
  • la fenêtre fille devient la fenêtre en cours.
  • après l'ouverture de la fenêtre fille, les traitements suivants l'appel de la fonction OuvreFille dans la fenêtre mère sont exécutés.
  • l'utilisateur pourra cliquer dans l'une des fenêtres parentes de la fenêtre ouverte.
    AndroidiPhone/iPadApple Watch Les champs des fenêtres parentes ne sont pas accessibles par l'utilisateur tant qu'une fenêtre fille est ouverte.
WINDEV Remarque : La fonction OuvreFille donne le focus à la fenêtre fille. Les codes de prise de focus de la fenêtre fille et de perte de focus de la fenêtre mère sont exécutés. Pour que la fenêtre mère conserve le focus, utilisez la constante SansFocus dans le paramètre <Nom de la fenêtre>.
Pour gérer le MDI, utilisez la fonction MDIOuvre.

Position de la fenêtre mère

La fenêtre mère reste toujours en dessous de la fenêtre fille, même si la fenêtre mère est en saisie.
Si cette situation ne convient pas, il faut ouvrir la fenêtre fille avec la fonction OuvreSoeur (à condition que la fenêtre mère ne soit pas modale).
WINDEVEtats et RequêtesCode Utilisateur (MCU)

Ouverture d'une même fenêtre plusieurs fois

  • Si une même fenêtre est ouverte plusieurs fois, il est conseillé d'utiliser un alias. Cet alias permet de différencier chaque fenêtre.
  • Le positionnement de la fenêtre appelante (relatif à l'écran ou à la fenêtre mère) est choisi lors de la description de la fenêtre sous l'éditeur. Si une même fenêtre est ouverte plusieurs fois (avec un alias), il faut modifier les positions d'affichage à chaque ouverture (sinon les fenêtres seront superposées).
  • Le nombre de fenêtres pouvant être ouvertes simultanément dépend de la mémoire disponible.

Limitations

  • La fonction OuvreFille ne doit pas être appelée dans le code d'initialisation d'un projet.
    WINDEV Pour afficher une fenêtre "Splash Screen" au démarrage de l'application, utilisez l'option "Splash Screen" lors de la création de l'exécutable.
  • Universal Windows 10 App La fonction OuvreFille ne doit pas être appelée dans le code de fermeture d'une fenêtre fille.

Fermeture d'une fenêtre

Une fenêtre ouverte avec la fonction OuvreFille peut être fermée avec la fonction Ferme (sans paramètre) à partir de n'importe quel événement :
  • de la fenêtre,
  • d'un champ de la fenêtre.
Si une fenêtre mère est fermée, ses fenêtres filles sont également fermées.

Titre de la fenêtre à ouvrir

Par défaut, le titre de la fenêtre est celui défini sous l'éditeur.
Pour modifier le titre de la fenêtre, utilisez les fonctions TitreSuivant ou TitreEnCours.

Ouvrir une fenêtre d'un composant

Pour ouvrir une fenêtre d'un composant, il suffit d'utiliser directement le nom de la fenêtre du composant (le composant étant intégré dans le projet). Par exemple :
OuvreFille(FenêtreDuComposant)
En cas de conflit avec un élément du projet, il suffit de préfixer le nom de l'élément par le nom du composant. Par exemple :
OuvreFille(MonComposant.Fenêtre)
Pour utiliser le nom de la fenêtre dans une variable, il est nécessaire de préciser le nom du composant. Par exemple :
sFenêtre est une chaîne ="MonComposant.MaFenêtre"
OuvreFille(sFenêtre)
Classification Métier / UI : Code UI
Composante : wd300obj.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Utilisation du niveau d'affichage de la fenêtre
Pour utiliser "+ Dessus" ou "+ DessusTout", vous devez OBLIGATOIREMENT mettre le nom de la fenêtre entre guillemets sinon WD ne reconnaitra pas la fenêtre et retournera une erreur
Jean-Pierre
09 avr. 2021

Dernière modification : 25/05/2022

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