PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Nouveauté WINDEV 27 !
  • Ce que vous allez apprendre dans cette leçon
  • Introduction
  • Exemple pratique
  • Evénements optionnels proposés par WINDEV
  • Evénements de Windows
  • Exemple : Détecter le clic sur un champ Liste
Leçon 7.5. Evénement Windows
Ce que vous allez apprendre dans cette leçon
  • Programmation des événements Windows.
Durée de la leçon

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 automatiquement 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 événements 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".
Evénements optionnels proposés par WINDEV
Pour chaque élément (fenêtre, champ, ...), WINDEV propose de nombreux événements optionnels.
  • Pour ajouter un événement optionnel :
    1. Affichez les événements WLangage associé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 événements ..." :
      Lien 'Ajouter d'autres événements'
    3. La liste complète des événements optionnels disponibles s'affiche :
      Liste des événements optionnels
    4. Pour ajouter un événement, il suffit de cocher la case correspondante et de valider cette fenêtre. Par exemple, ajoutez l'événement "Touche Enfoncée" et validez la fenêtre.
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 un champ Liste

  • Lancez le test de la fenêtre "FEN_Fonction_Evénement". Cette fenêtre détecte si le champ Liste est manipulé 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é.
      Test de la fenêtre
    4. Arrêtez le test et revenez sous l'éditeur.
  • Regardons le code utilisé :
    1. Cliquez dans la fenêtre.
    2. Affichez les événements de la fenêtre (appuyez sur la touche F2).
    3. Examinons l'événement "Déclarations 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 le champ 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. La procédure SourisOuClavier est une procédure interne. Le code de cette procédure est présent dans la suite de l'événement "Déclarations globales". Ce code 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 INTERNE 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 27
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire