OVH Cloud OVH Cloud

[WD8]Creation d'evenement sur une touche du clavier

7 réponses
Avatar
FabSteg
Bonjour à tous ,

J'aimerai opuvoir créer des événements sur l'appui de certaines touches
du clavier , par exemple je voudrais pouvoir créer un événement sur
l'appui de la touche entré ou encore sur l'appui de plusieurs touches
simultanéments.
J'ai un peu regardé dans l'aide mais je n'ai rien trouvé pouvant m'aider.

Si quelqu'un sait comment faire ???

Merci d'avance a toutes vos réponse.

PIERRON Aurelien
STAGIAIRE STEGANUX

7 réponses

Avatar
nicolas
La méthode EnvoieTouche() permet de le faire!!!

ex: simuler un "ctrl + f"
EnvoieTouche("^{f}",Handle(nomduchamp))
Avatar
ManuPavy
nicolas a écrit :
La méthode EnvoieTouche() permet de le faire!!!

ex: simuler un "ctrl + f"
EnvoieTouche("^{f}",Handle(nomduchamp))



Je pense que c'est l'inverse qu'il veut faire : si ctrl+"f" alors
execute une procédure.
amha le plus simple est d'utiliser les raccourcis clavier. quite à
mettre un champ libellé avec rien dedans et configurer une séquence d appel.

--
Manu
Avatar
patrice
"FabSteg" a écrit dans le message de
news:dbnqsq$9lj$
Bonjour à tous ,

J'aimerai opuvoir créer des événements sur l'appui de certaines touches
du clavier , par exemple je voudrais pouvoir créer un événement sur
l'appui de la touche entré ou encore sur l'appui de plusieurs touches
simultanéments.
J'ai un peu regardé dans l'aide mais je n'ai rien trouvé pouvant m'aider.




il faut chercher "_eve" dans l'aide.
tu vas tomber sur une page "traitement optionnel"
Dans ton cas, il faut mettre du code sur "touche enfoncé" et tester le
contenu de _eve.wparam

ex:
[Touche enfoncée (WM_KEYDOWN) de ....]
SI _EVE.wParam = VK_ESCAPE ALORS Ferme()
Avatar
nicolas
Désolé j'ai pas bien lu ton post et ma reponse ne correspond a ton
probleme :)
Avatar
Stéphane
FabSteg a écrit :
Bonjour à tous ,

J'aimerai opuvoir créer des événements sur l'appui de certaines touches
du clavier , par exemple je voudrais pouvoir créer un événement sur
l'appui de la touche entré ou encore sur l'appui de plusieurs touches
simultanéments.
J'ai un peu regardé dans l'aide mais je n'ai rien trouvé pouvant m'aider.

Si quelqu'un sait comment faire ???

Merci d'avance a toutes vos réponse.

PIERRON Aurelien
STAGIAIRE STEGANUX



Bonjour,
Un exemple en 7.5.

1. Dans l'init du projet :
EXTERNE "WINCONST.WL"
EXTERNE "KEYCONST.WL"
Ces 2 fichiers doivent être dans le répertoire EXE du projet.

2. Dans l'init de la fenêtre :
Evénement("Touche_Enfoncée", ".*",WM_KEYDOWN)

3. Procédure de traitement :
PROCEDURE Touche_Enfoncée()

SI ToucheEnfoncée(VK_LEFT)ALORS
...
FIN

SI ToucheEnfoncée(VK_RIGHT) OU ToucheEnfoncée(VK_RETURN) ALORS
...
FIN

SI ToucheEnfoncée(VK_UP) ALORS
...
FIN

SI ToucheEnfoncée(VK_DOWN) ALORS
...
FIN


--
Ami Calmant
Stéphane
Avatar
FabSteg
Stéphane a écrit :
FabSteg a écrit :

Bonjour à tous ,

J'aimerai opuvoir créer des événements sur l'appui de certaines
touches du clavier , par exemple je voudrais pouvoir créer un
événement sur l'appui de la touche entré ou encore sur l'appui de
plusieurs touches simultanéments.
J'ai un peu regardé dans l'aide mais je n'ai rien trouvé pouvant m'aider.

Si quelqu'un sait comment faire ???

Merci d'avance a toutes vos réponse.

PIERRON Aurelien
STAGIAIRE STEGANUX




Bonjour,
Un exemple en 7.5.

1. Dans l'init du projet :
EXTERNE "WINCONST.WL"
EXTERNE "KEYCONST.WL"
Ces 2 fichiers doivent être dans le répertoire EXE du projet.

2. Dans l'init de la fenêtre :
Evénement("Touche_Enfoncée", ".*",WM_KEYDOWN)

3. Procédure de traitement :
PROCEDURE Touche_Enfoncée()

SI ToucheEnfoncée(VK_LEFT)ALORS
...
FIN

SI ToucheEnfoncée(VK_RIGHT) OU ToucheEnfoncée(VK_RETURN) ALORS
...
FIN

SI ToucheEnfoncée(VK_UP) ALORS
...
FIN

SI ToucheEnfoncée(VK_DOWN) ALORS
...
FIN





Bonjour ,
Deja merci a tous pour vos réponse.
La j'ai fait des test avec la fonction evenement.

Dans la procédure qui s'excute j'essaye de faire executé un traitement
sur la touche enteé , mais je ne trouve pas le bon message Windows pour
cela , est ce que quelqu'un le connait? et si vous saviez aussi comment
faire pour avoir le message Windows sur l'appui de plusieurs touche
(exemple control + t )

Merci d'avance.


PIERRON AURELIEN
STAGIAIRE STEGANUX
Avatar
Stéphane
FabSteg a écrit :
Bonjour ,
Deja merci a tous pour vos réponse.
La j'ai fait des test avec la fonction evenement.

Dans la procédure qui s'excute j'essaye de faire executé un traitement
sur la touche enteé , mais je ne trouve pas le bon message Windows pour
cela , est ce que quelqu'un le connait? et si vous saviez aussi comment
faire pour avoir le message Windows sur l'appui de plusieurs touche
(exemple control + t )

Merci d'avance.


PIERRON AURELIEN
STAGIAIRE STEGANUX



Je sais que tu peux faire : SI ToucheEnfoncée(teControl+teShift) ALORS

Creuse de ce côté.

En faisant un INFO de la valeur de la touche dans la procédure de
traitement tu récupèreras ce que tu veux.

--
Ami Calmant
Stéphane