DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion de Windows / Fonctions Notifications système
  • Présentation
  • Comment le faire ?
  • Gestion du clic sur la notification ou sur un bouton de la notification
  • Fonctions et types de variables associés aux notifications interactives
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
Présentation
Une notification est une petite fenêtre qui apparaît en bas à droite de l'écran, et qui reste consultable en permanence, dans la zone des notifications de Windows.
Ce type de fenêtre est normé (en XML) par Windows.
En version 27, il devient facilement possible de créer des notifications à afficher sous Windows.
Une notification peut contenir :
  • des images,
  • des textes,
  • des champs de saisie,
  • des boutons,
  • des combos.
Pour créer ces notifications, WINDEV propose plusieurs fonctions et types WLangage.
Comment le faire ?
Pour créer une notification et l'afficher :
  1. Vérifiez si le système de l'utilisateur est compatible avec les notifications interactives via la fonction SysNotificationCompatible.
  2. Créez une variable de type sysNotification. Cette variable contient la description complète de la notification.
    • Pour ajouter des zones de saisie dans la notification, créez une ou plusieurs variable de type sysNotificationEntrée. La propriété Type de ce type de variable permet de déterminer si la zone de saisie correspond à une combo ou à une zone de texte.
    • Pour ajouter des boutons dans la notification, créez une ou plusieurs variables de type sysNotificationBouton. La propriété Type de ce type de variable permet de déterminer le type et la position du bouton à créer.
    • Définissez les actions à effectuer lorsque l'utilisateur clique sur la notification ou sur un bouton de la notification (voir paragraphe suivant). Ces actions peuvent correspondre :
      • à une procédure globale spécifique.
      • à l'événement optionnel du projet "Réception d'une notification" (cet événement est appelé si la procédure n'a pas été précisé dans la propriété Action ou si la procédure indiquée n'existe pas).
  3. Envoyez la notification au système grâce à la fonction SysNotificationEnvoie.

Gestion du clic sur la notification ou sur un bouton de la notification

La récupération des informations de l'interaction de l'utilisateur avec une notification passe par un système de procédures de type Callback.
Il est possible d'associer une procédure spécifique à chaque action effectuée sur une notification (que ce soit sur la notification elle-même ou sur ses boutons). Cependant, comme une notification peut relancer une application, il est obligatoire que la procédure soit une procédure GLOBALE car elle doit être accessible dès l'ouverture de l'application.
Le nom de la procédure à exécuter est contenu dans la notification via la propriété Action. Si aucun nom n'est spécifié (utilisation d'un XML personnalisé par l'utilisateur par exemple), ou que la procédure n'est pas trouvée, alors l'événement optionnel du projet "Réception d'une notification" est exécuté.
La procédure comme l'événement optionnel du projet "Réception d'une notification" doivent être de la forme suivante :
PROCEDURE NomProcédure(arguments est une chaîne, données est un tableau de chaînes)
où :
  • <arguments> contient les arguments associés à l'action (que ce soit via la propriété Note de la variable sysNotification pour un clic sur la notification ou via la propriété Note de la variable sysNotificationBouton pour un clic sur un bouton).
  • <données> contient les données saisies par les utilisateurs dans les champs de la notification (champ de saisie ou combo). Chaque chaîne est de la forme :
    <Nom du champ> + TAB + <Valeur du champ>
Remarque : Les procédures et l'événement optionnel sont exécutés dans thread principal de l'application (accès direct aux champs).
Fonctions et types de variables associés aux notifications interactives
Les fonctions permettant de gérer les notifications interactives sont les suivantes :
EnModeSysNotificationPermet de savoir si l'application est lancée depuis une notification interactive "Windows 10".
SysNotificationCompatibleVérifie si le système d'exploitation supporte les notifications interactives.
SysNotificationEnvoieEnvoie une notification interactive au système afin de l'afficher.
SysNotificationSupprimeSupprime une notification interactive précédemment envoyée.
SysNotificationSupprimeIDSupprime toutes les notifications interactives précédemment envoyées correspondant à l'identifiant (ID) spécifié.
SysNotificationSupprimeToutSupprime toutes les notifications interactives précédemment envoyées par l'application en cours.

Les types de variables permettant de gérer les notifications interactives sont les suivantes :
sysNotificationLe type sysNotification permet de définir toutes les caractéristiques avancées d'une notification système interactive.
sysNotificationBoutonLe type sysNotificationBouton permet de définir toutes les caractéristiques avancées d'un champ Bouton dans une notification interactive.
sysNotificationEntréeLe type sysNotificationEntrée permet de définir toutes les caractéristiques avancées d'un champ d'entrée utilisateur (saisie de texte ou combo) dans une notification interactive.
Liste des exemples associés :
WD Gestion Notifications Windows Exemples didactiques (WINDEV) : WD Gestion Notifications Windows
[ + ] A partir de Windows 10, les « toast » notifications (celles qui apparaissent à droite dans le bureau) sont devenues interactives, avec possibilité d’y mettre des boutons, des zones de saisie et des combos.
Cet exemple présente la gestion de ces notifications.
Version minimum requise
  • Version 27
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 22/06/2023

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