DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion de Windows / Fonctions diverses Windows
  • Pour gérer toutes les touches du clavier avec la fonction ToucheEnfoncée :
  • Tester une combinaison de touches
  • Interrompre un traitement dans une boucle de parcours
  • Compte-rendu asynchrone
  • Utilisation de la fonction ToucheEnfoncée
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
Vérifie quelle est la touche enfoncée.
Exemple
// Intégration du fichier "KeyConst.WL" pour gérer les touches du clavier
EXTERNE "KeyConst.WL"
POUR I = 1 Ã€ 5000
Sablier(Vrai)
Multitâche(-1)
// Vérification de la touche espace
SI ToucheEnfoncée(VK_SPACE) = Vrai ALORS Info("Touche espace enfoncée")
// Vérification de la touche A
SI ToucheEnfoncée(Asc("A")) = Vrai ALORS Info("Touche A enfoncée")
FIN
Sablier(Faux)
Syntaxe
<Résultat> = ToucheEnfoncée(<Constante> [, <Changement d'état>])
<Résultat> : Booléen
  • Vrai si la touche de contrôle est enfoncée ou a changé d'état depuis le dernier appel de la fonction ToucheEnfoncée,
  • Faux dans le cas contraire.
Java Fonctionnement spécifique :
  • Vrai si la touche de contrôle est actuellement enfoncée,
  • Faux dans le cas contraire.
<Constante> : Constante de type entier
Identifie la touche de contrôle :
teAltTouche Alt.
teBoutonDBouton droit de la souris.
Java Cette constante n'est pas disponible.
teBoutonGBouton gauche de la souris.
Java Cette constante n'est pas disponible.
teControlTouche Ctrl.
teEchapTouche Echap.
teShiftTouche Maj.

Des constantes supplémentaires sont disponibles dans le fichier "KeyConst.wl". Ces constantes permettent d'identifier toutes les touches du clavier. Ce fichier est disponible dans le sous-répertoire "Personal\External" de WINDEV.
<Changement d'état> : Booléen optionnel
  • Vrai (valeur par défaut) pour obtenir un compte-rendu synchrone : touche enfoncée actuellement,
  • Faux pour obtenir un compte-rendu asynchrone : la touche a changé d'état depuis le dernier appel de la fonction ToucheEnfoncée.
Java Ce paramètre est ignoré. Le compte-rendu est toujours synchrone.
Remarques

Pour gérer toutes les touches du clavier avec la fonction ToucheEnfoncée :

  1. Intégrez le fichier KeyConst.WL dans votre projet. Ce fichier associe à chaque touche du clavier une constante spécifique. Ce fichier est disponible dans le répertoire de WINDEV (sous-répertoire Personal\External). Pour intégrer ce fichier dans vos applications, il est nécessaire d'utiliser le mot-clé EXTERNE de la façon suivante :
    EXTERNE "KEYCONST.wl"
  2. Utilisez les constantes dans la fonction ToucheEnfoncée :
    SI ToucheEnfoncée(VK_Space) ALORS ...
Remarques :
  • Pour gérer les touches de caractères, il suffit d'utiliser le code ASCII du caractère (obtenu avec la fonction Asc).
  • Toutes les constantes contenues dans le fichier KeyConst.WL commencent par les lettres VK_. A partir du moment où le fichier a été intégré avec le mot-clé EXTERNE, ces constantes sont proposées par la complétion automatique dans l'éditeur de code.

Tester une combinaison de touches

Pour tester une combinaison de touches, il suffit de tester deux touches enfoncées :
SI ToucheEnfoncée(teShift) ET ToucheEnfoncée(VK_TAB) ALORS
Trace("OK")
FIN

Interrompre un traitement dans une boucle de parcours

Dans une boucle de parcours, pour interrompre le traitement en testant l'appui sur Echap, il faut utiliser la fonction Multitâche avant la fonction ToucheEnfoncée.
Exemple :
HLitPremier(Client, NumCli)
TANTQUE HEnDehors() = Faux
// Abandon par Echap ?
Multitâche(-1) 
SI ToucheEnfoncée(teEchap) = Vrai ALORS SORTIR
// Traitement
HLitSuivant(Client, NumCli)
FIN

Compte-rendu asynchrone

Pour éviter de récupérer une touche précédemment enfoncée (dans un autre traitement par exemple), il faut ré-initialiser l'état de la touche à tester avec la ligne de code suivante :
ToucheEnfoncée(<Touche>, Faux)
Java

Utilisation de la fonction ToucheEnfoncée

L'application doit avoir le focus pour que la fonction ToucheEnfoncée vérifie que la touche spécifiée est enfoncée.
Composante : wd300std.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 31/08/2023

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