DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE


  • Codes exécutés lors de la fermeture
  • Fermeture en fonction du type de fenêtre
  • Dernière fenêtre d'un projet
  • Valeur renvoyée à la fonction Ouvre
  • Combinaison des touches Alt + F4
  • Équivalence
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
Ferme une fenêtre WINDEV (en renvoyant si nécessaire une valeur).
Windows Cette fonction est disponible uniquement pour simplifier la Webisation de projets WINDEV. Dans un site WEBDEV, cette fonction se comporte selon les cas soit comme la fonction PageFermeDialogue, soit comme la fonction ContexteFerme.
Exemple
// Fermeture de la fenêtre "FEN_Saisie"
Ferme(FEN_Saisie)
Etats et RequêtesWindows
// Fermeture de la fenêtre "FEN_SaisieLogin"
// avec récupération de plusieurs valeurs de retour
Ferme(FEN_SaisieLogin, Nom, Prénom)
Syntaxe
Ferme([<Fenêtre> [, <Valeur renvoyée> [... [, <Valeur renvoyée N>]]]])
<Fenêtre> : Nom de fenêtre optionnel
Nom de la fenêtre à fermer. Si ce paramètre n'est pas précisé ou correspond à une chaîne vide (""), la fenêtre en cours est fermée.
<Valeur renvoyée> : Type correspondant à la valeur renvoyée (optionnel)
Valeur renvoyée par la fenêtre lors de sa fermeture.

Il est possible de renvoyer :
  • des types simples (chaîne de caractères, booléen, ...).
  • des types avancés : structure, structure dynamique, classe, type avancé, tableau, tableau associatif, file, pile, liste.
<Valeur renvoyée N> : Type correspondant à la valeur renvoyée (optionnel)
Etats et RequêtesWindows Valeur N renvoyée par la fenêtre lors de sa fermeture (cas où plusieurs valeurs sont renvoyées).

Il est possible de renvoyer :
  • des types simples (chaîne de caractères, booléen, ...).
  • des types avancés : structure, structure dynamique, classe, type avancé, tableau, tableau associatif, file, pile, liste.
Remarques

Codes exécutés lors de la fermeture

  • Lors de la fermeture d'une fenêtre :
    1. Le traitement en cours est interrompu définitivement.
    2. L'événement "Fermeture" de la fenêtre est exécuté.
  • Si la fonction DonneFocusEtRetourUtilisateur est appelée dans l'événement "Fermeture" de la fenêtre, la fenêtre n'est pas fermée.
  • Si la fonction Ferme est exécutée dans une procédure appelée par la fonction Timer, il est nécessaire de tester l'existence de la fenêtre à fermer avec les fonctions FenEtat ou FenEnCours sinon toutes les fenêtres ouvertes risquent d'être fermées. Par exemple :
    // Procédure appelée par timer
    Fenêtre est une chaîne
    Fenêtre = FenEnCours()
    SI Fenêtre <> "Nom fenêtre" ALORS
    Ferme()
    FIN

Fermeture en fonction du type de fenêtre

  • Si la fenêtre à fermer est une fenêtre mère ayant des fenêtre filles, ces fenêtres filles sont fermées en premier (leur code de fermeture est exécuté).
  • Si la fenêtre à fermer est une fenêtre fille, la fenêtre mère devient la fenêtre en cours. Le code de prise de focus de la fenêtre mère est exécuté.

Dernière fenêtre d'un projet

Si la dernière fenêtre d'un projet est fermée, l'événement "Fermeture" du projet est exécuté avant la fin du programme.
Etats et Requêtes

Valeur renvoyée à la fonction Ouvre

Il est possible de renvoyer, à l'aide de la fonction Ferme, une valeur ou plusieurs à la fonction Ouvre.
Rappel : Il est également possible de renvoyer une valeur à l'aide de la propriété ValeurRenvoyée (<Nom de la fenêtre>.ValeurRenvoyée) exécutée avant la fonction Ferme. Dans ce cas, une seule valeur peut être renvoyée.
Exemples :
  • L'utilisateur doit saisir un mot de passe dans une fenêtre. Ce mot de passe saisi est récupéré lors de la fermeture de cette fenêtre et renvoyé à la fonction Ouvre :
    MonMotDePasse = Ouvre(FEN_SaisieMotDePasse)
    SI MonMotDePasse <> "" ALORS
    Info("Mot de passe incorrect")
    FIN
     
    // -- Code de clic sur le bouton "OK" de la fenêtre "FEN_SaisieMotDePasse"
    // L'utilisateur saisit son mot de passe dans le champ SAI_MotDePasse
    // et valide la fenêtre.
    Ferme("", SAI_MotDePasse)
  • L'utilisateur doit saisir un login et un mot de passe dans une fenêtre. Ce login et mot de passe saisi sont récupérés lors de la fermeture de cette fenêtre et renvoyés à la fonction Ouvre :
    (MonLogin, MonMotDePasse) = Ouvre(FEN_SaisieMotDePasse)
    SI MonLogin <> "" OU MonMotDePasse <> "" ALORS
    Info("Login ou mot de passe incorrect")
    FIN
     
    // -- Code de clic sur le bouton "OK" de la fenêtre "FEN_SaisieMotDePasse"
    // L'utilisateur saisit son login et son mot de passe
    // dans le champ SAI_MotDePasse et valide la fenêtre.
    Ferme("", SAI_Login, SAI_MotDePasse)

Combinaison des touches Alt + F4

La combinaison de touches Alt + F4 peut avoir plusieurs comportements :
  • Si la fenêtre comporte un bouton de type "Abandon", l'événement WLangage associé au bouton d'abandon est exécuté.
  • Si la fenêtre comporte un bouton ayant Alt + F4 comme raccourci clavier, l'événement WLangage associé à ce bouton est exécuté.
  • Si la fenêtre ne comporte ni de bouton d'abandon, ni de bouton ayant Alt + F4 comme raccourci clavier, l'événement "Fermeture" de la fenêtre est exécuté et la fenêtre est fermée (sauf si la fonction DonneFocusEtRetourUtilisateur est utilisée).
  • Si la fenêtre est ouverte depuis un programme en langage externe, Alt + F4 retourne "ESC" dans WdTouche.

Équivalence

La ligne de code suivante :
FenEtat(<Fenêtre>, Inexistant)
est équivalente à :
Ferme(<Fenêtre>)
Composante : wd280obj.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire