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 soeur à ouvrir
  • Mode d'ouverture de la fenêtre
  • Ouverture d'une même fenêtre plusieurs fois
  • 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 soeur non modale. La fonction OuvreSoeur permet également de :
  • définir la position d'affichage de la fenêtre soeur,
  • passer des paramètres à la fenêtre soeur.
Lors de l'appel de la fonction OuvreSoeur, les opérations suivantes sont effectuées :
  • exécution de l'événement "Déclarations globales" de la fenêtre soeur,
  • exécution des événements d'initialisation des champs (l'ordre est indéterminé),
  • exécution des traitements suivant l'appel de la fonction OuvreSoeur de la fenêtre appelante,
  • affichage de la fenêtre soeur.
Remarque : Par défaut, la fenêtre soeur 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 soeur "FEN_SaisieFenêtre"
// sans positionnement et sans passage de paramètres
OuvreSoeur(FEN_SaisieFenêtre)
Syntaxe

Ouvrir une fenêtre soeur Masquer les détails

OuvreSoeur(<Nom de la fenêtre> [, <Paramètre 1> [... [, <Paramètre N>]]])
<Nom de la fenêtre> : Chaîne de caractères
  • Nom de la fenêtre soeur à ouvrir.
  • Nom et chemin complet de la fenêtre soeur (fichier ".WDW") à ouvrir.
<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 soeur en définissant sa position et son niveau d'affichage Masquer les détails

OuvreSoeur(<Nom de la fenêtre [ + <Niveau>]> [, <Paramètre 1> [... [, <Paramètre N>]]])
<Nom de la fenêtre [ + <Niveau>]> : Chaîne de caractères
Permet d'indiquer :
  • la fenêtre à ouvrir (<Nom de la fenêtre>). Ce paramètre peut correspondre au :
    • Nom de la fenêtre soeur à ouvrir.
    • Nom et chemin complet de la fenêtre soeur (fichier ".WDW") à ouvrir.
    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 soeur à 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 soeur ne sera pas exécuté. Attention : dans ce cas le nom de la fenêtre doit être entre guillemets.
    • <Y> : coordonnée verticale (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 (en pixels) d'affichage de la fenêtre (par rapport au coin haut gauche de l'écran ou de la fenêtre mère).
    Remarque : 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).
    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.
<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)
Dernier 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 soeur à 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 parente reste la fenêtre en cours.
  • après l'ouverture de la fenêtre soeur, les traitements suivant l'appel de la fonction OuvreSoeur dans la fenêtre appelante sont exécutés.
  • l'utilisateur pourra cliquer dans l'une des fenêtres parentes de la fenêtre en cours.
WINDEV Pour gérer le MDI, utilisez la fonction MDIOuvre.

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

Fermeture d'une fenêtre

Une fenêtre ouverte avec la fonction OuvreSoeur 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.
WINDEVEtats et RequêtesWindowsCode Utilisateur (MCU)

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.
WINDEVEtats et RequêtesWindowsCode Utilisateur (MCU)

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 :
OuvreSoeur(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 :
OuvreSoeur(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"
OuvreSoeur(sFenêtre)
Composante : wd290obj.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Alias et sauvegarde des paramètres
Attention, si vous utilisez des Alias sur les fenêtres les paramètres mémorisés automatiquement (taille, position de fenêtre et champs avec mémorisation activés) seront sauvegardés sous cet Alias. Donc si cet alias est généré aléatoirement, au chargement de la fenêtre les paramètres seront perdus.



Toutefois, si vous nommez vos alias de fenêtre sous la forme suivante : "ALIAS_XXXX" alors Windev utilisera le nom de la fenêtre pour sauvegarder les paramètres. Je n'ai pas trouvé cette information dans l'aide donc je laisse cette information ici.
Sylvain LAFFONT
05 juin 2023
exemplo
https://youtu.be/jsphd5ePqdY
https://windevdesenvolvimento.blogspot.com/2022/04/dica-3688-opensister-abre-janela-nao.html
//
OpenSister(WIN_Aguarde)
Wait(300)
// processamento
Close(WIN_Aguarde)
amarildo
11 avr. 2022
Exemples
OuvreSoeur ("SaisieFenêtre"+ Dessus )
// équivalent à :
// OuvreSoeur(SaisieFenêtre)
// FenEtat(SaisieFenêtre,Dessus)


//Le code suivant permet d'ouvrir deux fois la fenêtre soeur "SaisieFenêtre" en spécifiant un alias pour chacune de ces fenêtres
OuvreSoeur ("Saisie1 = SaisieFenêtre, 10, 20")
OuvreSoeur("Saisie2 = SaisieFenêtre, 10, 500")
// la position d'affichage est spécifié à chaque ouverture
// pour éviter que les fenêtres ne soient superposées


//Le code suivant permet d'ouvrir la fenêtre soeur "SaisieFenêtre" au dessus toutes les autres fenêtres soeurs en spécifiant la position de //cette fenêtre et en lui passant des paramètres.
OuvreSoeur ("SaisieFenêtre, 10, 20"+ Dessus , Valeur1, Valeur2)
Christian
09 nov. 2020
Précautions avec cette fonction
Attention, si vous ouvrez 2 fenêtres avec des OuvreSoeur et que ces fenêtres permettent d'ouvrir des fenêtres modales, il est possible que le retour de ces fenêtres modales ne se produisent pas sur la fermeture de la bonne fenêtre.
On doit manuellement forcer l'usager à fermer ses fenêtres modales dans la bonne séquence au risque que le code suivant l'instruction Ouvre ne soit pas exécuté ou exécuté au mauvais moment.
Chantal Payer
25 oct. 2017

Dernière modification : 25/05/2022

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