PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • 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
  • Touches des Pockets PC et des Smartphones
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Vérifie quelle est la touche enfoncée.
Versions 15 et supérieures
Java Cette fonction est désormais disponible pour les applications Java.
Nouveauté 15
Java Cette fonction est désormais disponible pour les applications Java.
Java Cette fonction est désormais disponible pour les applications Java.
Exemple
EXTERNE "KeyConst.WL"
POUR I = 1 A 5000
Sablier(Vrai)
Multitâche(-1)
SI ToucheEnfoncée(VK_SPACE) = Vrai ALORS Info("Touche espace enfoncée")
SI ToucheEnfoncée(Asc("A")) = Vrai ALORS Info("Touche A enfoncée")
FIN
Sablier(Faux)
Windows Mobile
// -- Code d'initialisation du projet
// Intégrer les fichiers "KeyConst.WL" et "WinConst.WL"
EXTERNE "KeyConst.WL"
EXTERNE "WinConst.WL"

// -- Code d'initialisation de la fenêtre
// Intercepter l'appui sur une touche du Pocket PC
Evénement("DéplacementImage", "Fenêtre1.*", WM_KEYDOWN)
// -- Procédure "DéplacementImage"
PROCEDURE DéplacementImage()
// Déplacer le champ Image "IMG_MonImage" avec les flèches du Smartphone ou du Pocket PC
// Flèche de droite : déplacement vers la droite
SI ToucheEnfoncée(VK_RIGHT) ALORS IMG_MonImage..X = IMG_MonImage..X + 10
// Flèche de gauche : déplacement vers la gauche
SI ToucheEnfoncée(VK_LEFT) ALORS IMG_MonImage..X = IMG_MonImage..X - 10
// Flèche du haut : déplacement vers le haut
SI ToucheEnfoncée(VK_UP) ALORS IMG_MonImage..Y = IMG_MonImage..Y + 10
// Flèche du bas : déplacement vers le bas
SI ToucheEnfoncée(VK_DOWN) ALORS IMG_MonImage..Y = IMG_MonImage..Y - 10
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.
teBoutonGBouton gauche de la souris.
Java Cette constante n'est pas disponible.
teBoutonDBouton droit 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 répertoire "\Personnel\Externe" de WINDEV ou WINDEV Mobile. Pour plus de détails sur son utilisation, consultez les remarques.
<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 Personnel\Externe). 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
WINDEVEtats et RequêtesWindowsWindows MobileCode Utilisateur (MCU)

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.
Windows Mobile

Touches des Pockets PC et des Smartphones

Les schémas ci-dessous présentent les constantes WLangage associées aux touches.
Composante : wd240std.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire