PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • 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/iPadApple WatchUniversal Windows 10 AppWindows Mobile
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 traitements suivants sont exécutés :
  • exécution du traitement "Déclaration des globales" de la fenêtre soeur,
  • exécution des traitements 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.
Versions 15 et supérieures
WINDEV MobileAndroid Cette fonction est désormais disponible pour les applications Android.
Nouveauté 15
WINDEV MobileAndroid Cette fonction est désormais disponible pour les applications Android.
WINDEV MobileAndroid Cette fonction est désormais disponible pour les applications Android.
Versions 16 et supérieures
WINDEVLinux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
Nouveauté 16
WINDEVLinux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
WINDEVLinux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
// 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ètre1> [, <Paramètre2> [, ... ]]])
<Nom de la fenêtre> : Chaîne de caractères (avec ou sans guillemets)
  • Nom de la fenêtre soeur à ouvrir.
  • Nom et chemin complet de la fenêtre soeur (fichier ".WDW") à ouvrir.
<Paramètre1> : Type de la valeur envoyée à la fenêtre (optionnel)
Premier paramètre à passer au traitement "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 adresse).
<Paramètre2> : Type de la valeur envoyée à la fenêtre (optionnel)
Second paramètre à passer au traitement "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 adresse)..

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ètre1> [, <Paramètre2> [, ... ]]])
<Nom de la fenêtre> : Chaîne de caractères (avec ou sans guillemets)
  • 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. Le traitement de 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.
<Niveau> : Constante optionnelle
Indique le niveau d'affichage de la fenêtre :
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ètre1> : Type de la valeur envoyée à la fenêtre (optionnel)
Premier paramètre à passer au traitement "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 adresse).
<Paramètre2> : Type de la valeur envoyée à la fenêtre (optionnel)
Second paramètre à passer au traitement "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 adresse).
Remarques

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

Les paramètres sont récupérés dans le traitement "Déclarations globales" de la fenêtre. Il suffit d'indiquer en début de traitement la ligne suivante :
PROCEDURE <Nom de la fenêtre>(<Paramètre1> [, <Paramètre2> [, ...]])
Ces paramètres sont passés par valeur et non par adresse.

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 traitement :
  • de la fenêtre,
  • d'un champ de la fenêtre.
WINDEVWINDEV MobileEtats et RequêtesWindowsWindows MobileCode 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.
WINDEVWINDEV MobileEtats et RequêtesWindowsWindows MobileCode 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)
Composantes
WINDEVEtats et Requêtes wd220obj.dll
Windows Mobile wp220obj.dll
Java wd220java.jar
Linux wd220obj.so
Android wd220android.jar
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
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