PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Traitements gérés par défaut
  • Traitements optionnels
  • Présentation
  • Traitements optionnels spécifiques : Tirer pour rafraîchir
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
Traitements gérés par défaut
Versions 16 et supérieures
Android Les fenêtres internes sont désormais disponibles sous Android.
Nouveauté 16
Android Les fenêtres internes sont désormais disponibles sous Android.
Android Les fenêtres internes sont désormais disponibles sous Android.
Versions 17 et supérieures
iPhone/iPad Les fenêtres internes sont désormais disponibles sous iPhone/iPad.
Nouveauté 17
iPhone/iPad Les fenêtres internes sont désormais disponibles sous iPhone/iPad.
iPhone/iPad Les fenêtres internes sont désormais disponibles sous iPhone/iPad.
Versions 20 et supérieures
WINDEVLinux Les fenêtres internes sont désormais disponibles pour les applications WINDEV sous Linux.
Nouveauté 20
WINDEVLinux Les fenêtres internes sont désormais disponibles pour les applications WINDEV sous Linux.
WINDEVLinux Les fenêtres internes sont désormais disponibles pour les applications WINDEV sous Linux.
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.
Les champs "Fenêtre Interne" ne sont associés à aucun traitement.
Versions 17 et supérieures
WINDEV et WINDEV Mobile gèrent par défaut les traitements suivants pour les champs "fenêtre interne" :
TraitementCondition d'exécution
Versions 18 et supérieures
AndroidiPhone/iPad Sélection par balayage
Nouveauté 18
AndroidiPhone/iPad Sélection par balayage
AndroidiPhone/iPad Sélection par balayage
Sélection par balayage
Fenê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. Ce traitement est exécuté après le traitement "Déclarations globales" et le traitement "Initialisation" de la nouvelle fenêtre interne.
Ce traitement 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 ce traitement.
Avant déchargement de la fenêtre interneExécuté lors du changement de la fenêtre interne avec la fonction ChangeFenêtreSource. Ce traitement est exécuté avant le traitement de fermeture de la fenêtre interne initiale.
Ce traitement 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 ce traitement.
Nouveauté 17
WINDEV et WINDEV Mobile gèrent par défaut les traitements suivants pour les champs "fenêtre interne" :
TraitementCondition d'exécution
Versions 18 et supérieures
AndroidiPhone/iPad Sélection par balayage
Nouveauté 18
AndroidiPhone/iPad Sélection par balayage
AndroidiPhone/iPad Sélection par balayage
Sélection par balayage
Fenê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. Ce traitement est exécuté après le traitement "Déclarations globales" et le traitement "Initialisation" de la nouvelle fenêtre interne.
Ce traitement 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 ce traitement.
Avant déchargement de la fenêtre interneExécuté lors du changement de la fenêtre interne avec la fonction ChangeFenêtreSource. Ce traitement est exécuté avant le traitement de fermeture de la fenêtre interne initiale.
Ce traitement 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 ce traitement.
WINDEV et WINDEV Mobile gèrent par défaut les traitements suivants pour les champs "fenêtre interne" :
TraitementCondition d'exécution
Versions 18 et supérieures
AndroidiPhone/iPad Sélection par balayage
Nouveauté 18
AndroidiPhone/iPad Sélection par balayage
AndroidiPhone/iPad Sélection par balayage
Sélection par balayage
Fenê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. Ce traitement est exécuté après le traitement "Déclarations globales" et le traitement "Initialisation" de la nouvelle fenêtre interne.
Ce traitement 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 ce traitement.
Avant déchargement de la fenêtre interneExécuté lors du changement de la fenêtre interne avec la fonction ChangeFenêtreSource. Ce traitement est exécuté avant le traitement de fermeture de la fenêtre interne initiale.
Ce traitement 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 ce traitement.
WINDEV et WINDEV Mobile gèrent par défaut les traitements suivants pour les fenêtres internes :
TraitementCondition 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.
Initialisation (avant la version 180062)
Fin d'initialisation (après la version 180062)
Fin d'initialisation
Exécuté lors de l'ouverture de la fenêtre.
L'ordre d'exécution des traitements 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.
Versions 20 et supérieures
WINDEV Demande de mise à jour de l'affichage
Nouveauté 20
WINDEV Demande de mise à jour de l'affichage
WINDEV 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, ...
Ce traitement peut attendre des paramètres. Il suffit de déclarer une procédure dans le traitement. Par exemple :
// Demande de mise à jour de l'affichage
PROCEDURE DemandeMiseAjour(TypeMiseAJour est un booléen)
Ce traitement 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 le traitement.
EntréeExécuté lors de l'entrée du curseur dans le champ Fenêtre Interne.
SortieExé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.
Traitements optionnels

Présentation

Plusieurs traitements optionnels peuvent être gérés.
Pour gérer un traitement optionnel, il suffit de le sélectionner dans la barre d'icônes de la fenêtre de code.
Pour ajouter un traitement 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 traitements à xxx" situé à la fin de la fenêtre de code, après le dernier traitement.
  4. La totalité des traitements optionnels disponibles pour le champ est affichée.
  5. Cochez le traitement optionnel à ajouter et validez.
    Remarque : Il est possible de sélectionner plusieurs traitements optionnels.
  6. Le traitement optionnel sélectionné est automatiquement ajouté dans les traitements gérés par le champ.
Pour désactiver un traitement optionnel, il suffit d'effectuer les mêmes manipulations pour afficher la liste des traitements optionnels. Il suffit ensuite de décocher les traitements 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 Traitements optionnels.
Versions 20 et supérieures
AndroidiPhone/iPad

Traitements 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 le traitement optionnel "Tirer pour rafraîchir". Ce traitement est constitué de trois codes différents :
  • "Tirer pour rafraîchir : Début" : Ce traitement est appelé lorsque la gesture du "Pull To Refresh" est détectée.
  • "Tirer pour rafraîchir : Attente du relâcher" : Ce traitement est appelé lorsqu'un rafraîchissement peut être lancé.
  • "Tirer pour rafraîchir : Rafraîchissement" : Ce traitement est appelé lors du lancement du rafraîchissement.
Nouveauté 20
AndroidiPhone/iPad

Traitements 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 le traitement optionnel "Tirer pour rafraîchir". Ce traitement est constitué de trois codes différents :
  • "Tirer pour rafraîchir : Début" : Ce traitement est appelé lorsque la gesture du "Pull To Refresh" est détectée.
  • "Tirer pour rafraîchir : Attente du relâcher" : Ce traitement est appelé lorsqu'un rafraîchissement peut être lancé.
  • "Tirer pour rafraîchir : Rafraîchissement" : Ce traitement est appelé lors du lancement du rafraîchissement.
AndroidiPhone/iPad

Traitements 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 le traitement optionnel "Tirer pour rafraîchir". Ce traitement est constitué de trois codes différents :
  • "Tirer pour rafraîchir : Début" : Ce traitement est appelé lorsque la gesture du "Pull To Refresh" est détectée.
  • "Tirer pour rafraîchir : Attente du relâcher" : Ce traitement est appelé lorsqu'un rafraîchissement peut être lancé.
  • "Tirer pour rafraîchir : Rafraîchissement" : Ce traitement est appelé lors du lancement du rafraîchissement.
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