|
|
|
|
|
- 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
ToucheEnfoncée (Fonction) En anglais : KeyPressed Vérifie quelle est la touche enfoncée.
EXTERNE "KeyConst.WL"
POUR I = 1 À 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)
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.
<Constante> : Constante de type entier Identifie la touche de contrôle : | | teAlt | Touche Alt. | teBoutonD | Bouton droit de la souris.
| teBoutonG | Bouton gauche de la souris.
| teControl | Touche Ctrl. | teEchap | Touche Echap. | teShift | Touche 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.
Remarques Pour gérer toutes les touches du clavier avec la fonction ToucheEnfoncée : - 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 :
- 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
Multitâche(-1)
SI ToucheEnfoncée(teEchap) = Vrai ALORS SORTIR
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) Composante : wd300std.dll
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|