PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

Nouveauté WINDEV 24 !
  • Ce que vous allez apprendre dans cette leçon
  • Introduction
  • Exemple pratique
  • Traitements optionnels proposés par WINDEV
  • Evénements de Windows
  • Exemple : Détecter le clic sur une liste
Leçon 7.5. Evénement Windows
Ce que vous allez apprendre dans cette leçon
  • Programmation des événements Windows.

Durée estimée : 10 mn
Leçon précédenteSommaireLeçon suivante
Introduction
Toute action effectuée par Windows correspond à un événement Windows. Différents types d'événements peuvent être rencontrés, par exemple :
  • Le survol d'une fenêtre par la souris,
  • L'arrêt du système,
  • L'affichage d'une boîte de dialogue,
  • Une erreur logicielle,
  • Etc.
Lorsque ces événements se produisent, il est possible de les intercepter afin de préparer ou d'exécuter un traitement spécifique.
Par défaut, WINDEV propose la gestion automatique des événements les plus utilisés. Par exemple, les événements suivants sont proposés pour un champ de saisie :
  • Initialisation du champ,
  • Entrée dans le champ,
  • Modification du champ,
  • Sortie du champ.
Pour gérer des événements supplémentaires, il est possible :
  • soit d'utiliser les traitements optionnels proposés par WINDEV.
  • soit d'utiliser les événements Windows.

Exemple pratique

Nous avons choisi de vous présenter la gestion des événements grâce à l'exemple unitaire "La fonction Evénement".
  • Ouvrez l'exemple unitaire "La fonction Evénement".
Traitements optionnels proposés par WINDEV
Pour chaque élément (fenêtre, champ, ...), WINDEV propose de nombreux traitements optionnels.
  • Pour ajouter un traitement optionnel :
    1. Affichez les traitements liés au champ Liste présent dans la fenêtre de l'exemple unitaire :
      • Sélectionnez le champ Liste.
      • Appuyez sur la touche F2.
      • L'éditeur de code est affiché.
    2. Cliquez sur le lien "Ajouter d'autres traitements ..." :
    3. La liste complète des traitements optionnels disponibles s'affiche :
    4. Pour ajouter un traitement, il suffit de cocher la case correspondante et de valider cette fenêtre. Par exemple, ajoutez l'événement "Touche Enfoncée".
Evénements de Windows
Pour la gestion d'événements plus "spécifiques", il existe la fonction WLangage Evénement. La fonction Evénement permet d'associer une procédure WLangage à un événement Windows.

Note

Pour utiliser la fonction Evénement, il faut maîtriser la programmation Windows et notamment les événements Windows.

Pour connaître la liste (non exhaustive) des événements Windows, consultez Valeur des constantes de l'API Windows 32 bits.

Exemple : Détecter le clic sur une liste

  • Lancez le test de la fenêtre "FEN_Fonction_Evénement". Cette fenêtre détecte si la liste est manipulée avec la souris ou avec le clavier.
    1. Cliquez sur le champ Liste avec la souris.
    2. Utilisez la souris pour déplacer le bandeau de sélection.
    3. Un message s'affiche indiquant si la souris ou le clavier a été utilisé.
    4. Arrêtez le test et revenez sous l'éditeur.
  • Regardons le code utilisé :
    1. Cliquez dans la fenêtre.
    2. Affichez les traitements de la fenêtre (appuyez sur la touche F2).
    3. Examinons le code de déclaration des globales de la fenêtre FEN_Fonction_Evénement.
      • Tout d'abord la ligne de code :
        EXTERNE "WINCONST.WL"
        Cette ligne de code permet d'intégrer le contenu du fichier WINCONST.WL dans le code de l'application grâce au mot-clé EXTERNE. Ce fichier contient la déclaration et les valeurs des constantes Windows. A la compilation, tout le code contenu dans le fichier WINCONST.WL sera automatiquement intégré au code de l'application.
      • Ensuite, les différents événements gérés sont déclarés :
        // Evénements sur le champ LISTE_Mois
        // Pression d'une touche du clavier
        Evénement("SourisOuClavier", LISTE_Mois..NomComplet, ...
        WM_KEYDOWN)
        // Clic gauche de souris
        Evénement("SourisOuClavier", LISTE_Mois..NomComplet, ...
        WM_LBUTTONDOWN)
        La procédure SourisOuClavier est appelée dès qu'une utilisation du clavier sur la liste est effectuée (événement Windows correspondant : WM_KEYDOWN) ou dès que le clic gauche de la souris est utilisé (événement Windows correspondant : WM_LBUTTONDOWN).
    4. Affichez le code de la procédure :
      • Placez le curseur de la souris sur "SourisOuClavier".
      • Utilisez la touche F2.
    5. Le code de la procédure est très simple :
      • Si le clavier est utilisé, le libellé affiché sous le champ Liste contient "Sélection avec le clavier".
      • Si la souris est utilisée, le libellé affiché sous le champ Liste contient "Sélection avec la souris".
        PROCÉDURE SourisOuClavier()
        // La variable _EVE.wMessage contient le numéro du message
        SELON _EVE.wMessage
        // C'est le clavier
        CAS WM_KEYDOWN
        // Message indiquant l'utilisation du clavier
        LIB_TypeSélection = "Sélection avec le clavier"
        LIB_TypeSélection..Couleur = RougeClair

        // C'est la souris
        CAS WM_LBUTTONDOWN
        // Message indiquant l'utilisation de la souris
        LIB_TypeSélection = "Sélection avec la souris"
        LIB_TypeSélection..Couleur = BleuClair
        FIN
Leçon précédenteSommaireLeçon suivante
Version minimum requise
  • Version 24
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire