DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Développer une application ou un site / Champs, fenêtres et pages / Champs : Types disponibles / Champ Fenêtre Interne
  • Evénements gérés par défaut
  • Evénements optionnels
  • Présentation
  • Evénements optionnels spécifiques : Tirer pour rafraîchir
  • Evénement optionnel spécifique : Application du thème clair/sombre
  • Evénement optionnel : Début de défilement
  • Evénement optionnel : Pendant le défilement
  • Evénement optionnel : Fin de défilement
  • Evénement optionnel : Avant changement de gabarit
  • Evénement optionnel : Après changement de gabarit
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
Evénements gérés par défaut
Attention : Ne confondez pas "Champ Fenêtre Interne" et "Fenêtre interne" : le "Champ Fenêtre interne" est un type de champ et la "Fenêtre interne" est un type de fenêtre.
WINDEV et WINDEV Mobile gèrent par défaut les événements suivants pour les champs "Fenêtre interne" :
EvénementCondition d'exécution
Sélection par balayageFenêtre interne avec parcours par balayage.
Exécuté après que la nouvelle fenêtre interne ait été affichée et chargée.
Après chargement de la fenêtre interneExécuté lors du changement de la fenêtre interne avec la fonction ChangeFenêtreSource. Cet événement est exécuté après l'événement "Déclarations globales" et l'événement "Initialisation" de la nouvelle fenêtre interne.
Cet événement permet par exemple d'initialiser des champs, de restaurer des valeurs dans la fenêtre interne.
La fonction ChangeFenêtreSource ne doit pas être utilisée dans cet événement.
Avant déchargement de la fenêtre interneExécuté lors du changement de la fenêtre interne avec la fonction ChangeFenêtreSource. Cet événement est exécuté avant l'événement de fermeture de la fenêtre interne initiale.
Cet événement permet par exemple de sauvegarder les valeurs présentes dans la fenêtre interne.
La fonction ChangeFenêtreSource ne doit pas être utilisée dans cet événement.


WINDEV et WINDEV Mobile gèrent par défaut les événements suivants pour les fenêtres internes :
EvénementCondition d'exécution
Déclarations globalesDéclaration des variables globales à la fenêtre. C'est le premier code exécuté lors de l'ouverture de la fenêtre.
Ce code est exécuté avant le code de déclaration des globales de la fenêtre hôte (fenêtre dans laquelle la fenêtre interne est intégrée).
Il est par exemple possible d'appeler une procédure de la fenêtre interne depuis le code de déclaration des globales de la fenêtre hôte.
Fin d'initialisationExécuté lors de l'ouverture de la fenêtre.
L'ordre d'exécution des événements est le suivant :
  • Initialisation des champs de la fenêtre
  • Initialisation de la fenêtre
  • Prise de focus
FermetureExécuté lors de la fermeture de la fenêtre.
Remarque : Une reprise de saisie sur un des champs de la fenêtre dans ce code empêche la fenêtre de se fermer.
WINDEV Mobile Demande de mise à jour de l'affichage
Permet de regrouper le code de mise à jour des champs de la fenêtre : contenu des champs, état (visible, grisé, ...), libellé à mettre à jour, ...
Cet événement peut attendre des paramètres. Il suffit de déclarer une procédure dans l'événement. Par exemple :
// Demande de mise à jour de l'affichage
PROCÉDURE DemandeMiseAjour(TypeMiseAJour est un booléen)
Cet événement est lancé sur demande grâce aux fonctions :
Lors de l'appel de ces fonctions, il est possible de préciser la valeur des paramètres attendus par l'événement.
EntréeEvénement optionnel :
Exécuté lors de l'entrée du curseur dans le champ Fenêtre Interne.
SortieEvénement optionnel :
Exécuté lors du changement de champ (passage du champ Fenêtre interne à un autre champ de la fenêtre).
A chaque modificationExécuté à chaque modification du contenu du champ
Affectation de la propriété ValeurExécuté à chaque affectation de la propriété Valeur sur la Fenêtre Interne (affectation directe ou effectuée avec la propriété Valeur). Ce code permet par exemple de récupérer des paramètres passés à la fenêtre interne.
Récupération de la propriété ValeurExécuté à chaque récupération de la propriété Valeur de la fenêtre interne. Ce code permet par exemple à la fenêtre interne de renvoyer une valeur à la fenêtre accueillant le champ Fenêtre Interne.
Evénements optionnels

Présentation

Plusieurs événements optionnels peuvent être gérés. Pour ajouter un événement optionnel :
  1. Sélectionnez le champ voulu.
  2. Affichez la fenêtre de code de ce champ (touche F2).
  3. Cliquez sur le lien "Ajouter d'autres événements à xxx" situé à la fin de la fenêtre de code, après le dernier événement.
  4. La totalité des événements optionnels disponibles pour le champ est affichée.
  5. Cochez l'événement optionnel à ajouter et validez.
    Remarque : Il est possible de sélectionner plusieurs événements optionnels.
  6. L'événement optionnel sélectionné est automatiquement ajouté dans les événements gérés par le champ.
Pour désactiver un événement optionnel, il suffit d'effectuer les mêmes manipulations pour afficher la liste des événements optionnels. Il suffit ensuite de décocher les événements optionnels à supprimer.
Remarque : Si le code désactivé contient du code WLangage, ce code est automatiquement supprimé.
Il est ainsi possible de gérer par exemple :
  • le survol du champ par la souris,
  • le bouton gauche enfoncé, relâché, avec un double-clic,
  • le bouton droit enfoncé, relâché, avec double-clic,
  • la roulette de la souris, ...
Pour plus de détails, consultez les Evénements optionnels.
AndroidiPhone/iPad

Evénements optionnels spécifiques : Tirer pour rafraîchir

Lorsque une fenêtre interne est utilisée pour gérer la fonctionnalité "Pull to Refresh" des champs Table et Zone répétée, il est nécessaire d'ajouter l'événement optionnel "Tirer pour rafraîchir". Cet événement est constitué de trois codes différents :
  • "Tirer pour rafraîchir : Début" : Ce code est appelé lorsque la gesture du "Pull To Refresh" est détectée.
  • "Tirer pour rafraîchir : Attente du relâcher" : Ce code est appelé lorsqu'un rafraîchissement peut être lancé.
  • "Tirer pour rafraîchir : Rafraîchissement" : Ce code est appelé lors du lancement du rafraîchissement.
AndroidiPhone/iPad

Evénement optionnel spécifique : Application du thème clair/sombre

Si la gestion du thème sombre est activé pour le projet, l'événement optionnel "Application du thème clair/sombre" est disponible. Cet événement permet de gérer les cas particuliers pour le passage du thème clair au thème sombre et inversement.
Cet événement est exécuté dans les cas suivants :
  • Au chargement de la fenêtre interne, après l'événement "Déclarations globales" et avant les événements d'initialisation des champs de la fenêtre interne.
  • Si la fenêtre interne est chargée lors du changement de thème réalisé par programmation avec la fonction ChangeThème uniquement si la constante avecExécutionDeCode a été spécifiée.
  • Si la fenêtre interne est chargée lors du changement de thème automatiquement effectué par le système : modification des paramètres système, changement d'heure jour/nuit, activation/désactivation de l'économiseur de batterie, ...
Pour plus de détails, consultez Gestion du thème sombre mobile.

Evénement optionnel : Début de défilement

Exécuté lors du début de défilement de l'ascenseur vertical du champ Fenêtre Interne, utilisé pour faire défiler le contenu de la fenêtre interne (cas où le contenu de la fenêtre interne est plus important que la taille du champ Fenêtre interne).
Rappel : La fonction AscenseurPosition permet de connaître la position de l'ascenseur.
Remarque : Cet événement est disponible aussi bien pour le champ Fenêtre interne que pour les fenêtres internes.

Evénement optionnel : Pendant le défilement

Exécuté lors du défilement de l'ascenseur vertical du champ Fenêtre Interne, utilisé pour faire défiler le contenu de la fenêtre interne (cas où le contenu de la fenêtre interne est plus important que la taille du champ Fenêtre interne).
Rappel : La fonction AscenseurPosition permet de connaître la position de l'ascenseur.
Remarque : Cet événement est disponible aussi bien pour le champ Fenêtre interne que pour les fenêtres internes.

Evénement optionnel : Fin de défilement

Exécuté à la fin défilement de l'ascenseur vertical du champ Fenêtre Interne, utilisé pour faire défiler le contenu de la fenêtre interne (cas où le contenu de la fenêtre interne est plus important que la taille du champ Fenêtre interne).
Rappel : La fonction AscenseurPosition permet de connaître la position de l'ascenseur.
Remarque : Cet événement est disponible aussi bien pour le champ Fenêtre interne que pour les fenêtres internes.

Evénement optionnel : Avant changement de gabarit

Exécuté avant le changement de gabarit effectué avec la fonction ChangeGabarit. Permet par exemple de mémoriser certaines options de style des champs présents dans la fenêtre interne (cas par exemple d'une fenêtre interne présente dans un composant).
Remarque : Cet événement est disponible uniquement pour les fenêtres internes.

Evénement optionnel : Après changement de gabarit

Exécuté après le changement de gabarit effectué avec la fonction ChangeGabarit. Permet par exemple de réappliquer certaines options de style des champs présents dans la fenêtre interne (cas par exemple d'une fenêtre interne présente dans un composant).
Remarque : Cet événement est disponible uniquement pour les fenêtres internes.
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Ordre des traitements et affichage des données
Lors de l'Affichage de la fenêtre, le traitement "Demande de mise à jour de l'affichage" est appelé AVANT la "Fin d'initialisation".

Dans ce cas, FenInitialisée() sera faux dans "Demande de mise à jour de l'affichage".

Afin d'afficher les données APRÈS la "Fin d'initialisation" il faut appeler DemandeMiseAJourIHM() dans le traitement "Fin d'initialisation" et alors FenInitialisée() sera vrai. (Appeler ExécuteMiseAJourIHM() fera en sorte que FenInitialisée() sera encore faux car la "Fin d'initialisation" ne sera pas terminée.)

Ensuite il suffit d'ajout une petite optimisation du code dans le traitement "Demande de mise à jour de l'affichage" pour ne pas rafraîchir les données inutilement:

SI FenInitialisée() = Faux ALORS RETOUR
Alexandre LECLERC
11 déc. 2015

Dernière modification : 06/05/2024

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