Page 1 sur 1

[R] Bloquer et débloquer SHIFT

Posté : sam. 22 mars 2014 20:58
par aulus
Bonjour,

Afin que l'utilisateur puisse entrer une année dans un input, sans avoir besoin d'appuyer sur la touche SHIFT lorsque son portable ne possède pas de clavier numérique, j'imagine simuler la touche SHIFT LOCK enfoncé si remplissage de l'input puis SHIFT UNLOCK en quittant l'input.

J'ai pensé faire appel à Func WM_COMMAND()

Code : Tout sélectionner

     Case $Annee
        Send("{SHIFTDOWN}")
 
Puis :

Code : Tout sélectionner

     Case $Autreinput
        Send("{SHIFTUP}")
 
Pourriez-vous me dire si mon appel à WM_COMMAND est la meilleure solution ?

Merci

Re: [..] Bloquer et débloquer SHIFT

Posté : sam. 22 mars 2014 22:25
par mikell
Oui
Mais personnellement comme j'aime pas les Send je le ferais plutôt comme ça pour que ça marche avec les 2 claviers en ignorant (ou pas...) la touche Shift
► Afficher le texte

Re: [..] Bloquer et débloquer SHIFT

Posté : sam. 22 mars 2014 22:33
par jguinch
Avec la touche SHIFT enfoncée, tu risques de rencontrer des problèmes lorsque l'utilisateur ira cliquer ou tapper en dehors de la GUI : il faudra alors gérer tous les cas de figure.

Une solution pourrait être d'intercepter les touches tapées et faire un remplacement (remplacer à par 0, & par 1 ...)
► Afficher le texte
Edit : encore grillé par Mikell !!!! (avec la même idée, en plus) :wink:

Re: [..] Bloquer et débloquer SHIFT

Posté : sam. 22 mars 2014 22:51
par mikell
Les grands esprits se rencontrent Image Image

Re: [..] Bloquer et débloquer SHIFT

Posté : dim. 23 mars 2014 10:15
par aulus
Merci à tous deux pour votre meilleure solution que la mienne. J'avais des doutes en effet sur l'efficacité de Send("{SHIFTUP}"), imaginant que l'utilisateur n'ait pas la bonne idée de remplir l'input sensé débloquer le shift.

J'ai réussi à adapter votre code au mien, la fonction WM_COMMAND() existant déjà dans mon programme.

Je ne regrette pas d'avoir demandé votre avis. Merci encore.