DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion de Windows / Fonctions Evénements Windows
  • Appeler plusieurs fois le même événement sur le même objet
  • Procédure appelée par la fonction Evénement
  • Paramètres utilisés par la procédure
  • Evénements utilisés par WINDEV
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
Intercepte un événement Windows sur un champ, un groupe de champs ou une fenêtre WINDEV ou WINDEV Mobile. Lorsque l'événement survient sur l'objet spécifié, une procédure WLangage spécifique est automatiquement exécutée. Pour mettre fin à la gestion de l'événement, il suffit d'utiliser la fonction FinEvénement.
Remarque : La fonction Evénement ne fonctionne PAS sur une fenêtre non WINDEV.
Exemple
// Capture du clic souris sur un champ de saisie
WM_LBUTTONDOWN est un entier = 513
Evénement(ClicSouris, "SAI_SAISIE1", WM_LBUTTONDOWN)
// Procédure ClicSouris
PROCÉDURE ClicSouris()
SAI_SAISIE1 = ""   // Remise à 0 du champ lorsque l'on clique dessus
Syntaxe
<Résultat> = Evénement(<Procédure WLangage> , <Nom de l'objet> , <Message Windows>)
<Résultat> : Entier
  • Identifiant de l'événement,
  • 0 en cas d'erreur.
<Procédure WLangage> : Nom de procédure
Nom de la procédure WLangage à lancer lors de l'interception de l'événement. Cette procédure peut être une procédure globale au projet ou une procédure locale à la fenêtre qui contient le code en cours d'exécution. Cette fonction doit respecter une norme spécifique (voir Remarques).
Pour un objet donné, une seule procédure peut intercepter un événement donné.
<Nom de l'objet> : Chaîne de caractères
Nom du champ, du groupe de champs ou de la fenêtre WINDEV sur lequel l'événement doit être géré. Il est aussi possible d'utiliser les chaînes de caractères génériques suivantes :
<Nom de la fenêtre>.*L'événement est géré sur tous les champs de la fenêtre <Nom de la fenêtre> (sauf pour la fenêtre <Nom de la fenêtre> elle-même).
.* (point étoile)L'événement est géré sur tous les champs de la fenêtre en cours (sauf la fenêtre elle-même).
*. (étoile point)L'événement est géré dans toutes les fenêtres WINDEV de l'application en cours.
*.* (étoile point étoile)L'événement est géré dans toutes les fenêtres WINDEV et dans tous les champs de toutes les fenêtres WINDEV ouvertes de l'application en cours.
<Message Windows> : Entier ou chaîne de caractères
Numéro ou nom du message Windows à gérer. Consultez la liste des événements Windows. Remarque : Il est possible d'intégrer les constantes Windows directement dans votre code WLangage grâce au mot-clé EXTERNE.
Si ce paramètre correspond à une chaîne de caractères, cette chaîne est sensible à la casse.
Si ce paramètre correspond à 0, tous les messages Windows sont interceptés.
Remarques

Appeler plusieurs fois le même événement sur le même objet

La fonction Evénement peut être utilisée pour gérer plusieurs fois le même événement sur le même élément (champ, fenêtre, ...).
Dans ce cas, les événements sont "empilés" :
  • le premier événement est géré jusqu'à l'appel de l'événement suivant.
  • lorsque un événement n'est plus géré (fonction FinEvénement), l'événement immédiatement précédent (s'il existe) est pris en compte.

Procédure appelée par la fonction Evénement

La procédure d'interception appelée par la fonction Evénement doit être de la forme :
FONCTION ProcédureGestionEvénement(MessageWindows, wParam, lParam)
MessageWindows, wParam et lParam sont trois entiers optionnels, permettant d'envoyer et de recevoir des informations sur le message et les objets concernés.

Paramètres utilisés par la procédure

La procédure d'interception appelée par la fonction Evénement peut utiliser les variables suivantes :
Variables SignificationVariable 5.5 conservée par compatibilité
MoiMême..NomNom de l'objet (champ, groupe de champs ou fenêtre)
Variable en lecture
_EVE.Nom
MessageNuméro du message (premier paramètre de la procédure)
Variable en lecture
_EVE.wMessage
wParamPremier paramètre du message (second paramètre de la procédure)
Variable en lecture
_EVE.wParam
lParamSecond paramètre du message (troisième paramètre de la procédure)
Variable en lecture
_EVE.lParam
Handle("")Handle de l'objet qui a reçu le message
Variable en lecture
_EVE.hWnd
Valeur retournée par la procédureRenvoie une valeur à Windows_EVE.Retour


Remarque : Si le traitement retourne une valeur (forcément de type entier), l'événement Windows est arrêté : c'est cette valeur qui est renvoyée. Si le traitement ne renvoie PAS de valeur, l'exécution se poursuit normalement.

Evénements utilisés par WINDEV

WINDEV utilise pour son fonctionnement interne les événements compris entre "WM_USER + 700" et "WM_USER + 1200". Il est donc nécessaire d'utiliser d'autres plages d'événements (par exemple, "WM_USER + 1300" à "WM_USER + 1400").
Liste des exemples associés :
WD Ecran de veille Exemples didactiques (WINDEV) : WD Ecran de veille
[ + ] Cet exemple illustre la réalisation d'un économiseur d'écran avec les fonctions WLangage.
Dans cet exemple, nous abordons les principaux thèmes suivants :
1/ l'appel périodique d'une procédure (les "timers")
2/ la gestion des événements Windows
3/ les fonctions système (appel d'API Windows)
Pour utiliser l'écran de veille :
- Renommer l'exécutable (.EXE) en .SCR
- Copier le fichier dans le répertoire de Windows (Ex: C:\WINDOWS)
- Ouvrir la fenêtre de propriétés d'affichage du bureau
- Choisir l'onglet "Ecran de Veille"
- Sélectionnez l'écran de veille généré avec WINDEV
WD Planning Exemples complets (WINDEV) : WD Planning
[ + ] Cet exemple illustre la gestion d'un planning graphique.

Dans cet exemple, nous abordons les principaux thèmes suivants :
1/ le champ planning
2/ les fonctions Google agenda
Composante : wd300obj.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 20/07/2022

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