Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

WM_CHAR et

2 réponses
Avatar
torri
quand WM_CHAR est lancé, j'appelle une fonction. Dans celle-ci je
voudrais connaître l'état de Shift (gauche ou droit. Je veux juste savoir
si une des 2 touches est enfoncées). J'utilise GetKeyState().

Néanmoins, il y a une chose que je ne comprends pas dans l'état de la
touche Shift. J'appuie sur Shift+a, c'est à dire j'appuie sur shift (que
je maintiens enfoncé, j'appuie sur 'a', je relache 'a' (shift toujours
enfoncé), enfin je relache shift. J'obtiens ceci:

1) Shift gauche enfoncé, GetKetState(VK_SHIFT) & 0x8000 renvoie vrai
2) 'a' enfoncé, GetKetState(VK_SHIFT) & 0x8000 renvoie vrai
3) 'a' laché, GetKetState(VK_SHIFT) & 0x8000 renvoie faux
4) Shift gauche enfoncé, GetKetState(VK_SHIFT) & 0x8000 renvoie faux

Ce que je ne comprends est le 3) : pourquoi GetKetState(VK_SHIFT) &
0x8000 renvoie faux alors que la touche shift est toujours enfoncée ?

Merci

2 réponses

Avatar
Stephane
Le 03/12/11, torri a supposé :
quand WM_CHAR est lancé, j'appelle une fonction. Dans celle-ci je
voudrais connaître l'état de Shift (gauche ou droit. Je veux juste savoir
si une des 2 touches est enfoncées). J'utilise GetKeyState().

Néanmoins, il y a une chose que je ne comprends pas dans l'état de la
touche Shift. J'appuie sur Shift+a, c'est à dire j'appuie sur shift (que
je maintiens enfoncé, j'appuie sur 'a', je relache 'a' (shift toujours
enfoncé), enfin je relache shift. J'obtiens ceci:

1) Shift gauche enfoncé, GetKetState(VK_SHIFT) & 0x8000 renvoie vrai
2) 'a' enfoncé, GetKetState(VK_SHIFT) & 0x8000 renvoie vrai
3) 'a' laché, GetKetState(VK_SHIFT) & 0x8000 renvoie faux




ça colle pas, comment peux-tu détecter que 'a' est relâché dans
WM_CHAR vu que c'est avant le WM_KEYUP ?

l'aide dit :

"
The WM_CHAR message is posted to the window with the keyboard focus
when a WM_KEYDOWN message is translated by the TranslateMessage
function. WM_CHAR contains the character code of the key that was
pressed.
"
Avatar
torri
On Sat, 03 Dec 2011 22:19:46 +0100, Stephane wrote:

ça colle pas, comment peux-tu détecter que 'a' est relâché dans WM_CHAR
vu que c'est avant le WM_KEYUP ?



parce que je suis stupide ? Tu as évidemment raison, j'ai oublié de
récupérer les valeurs dans le key up...

C'est possible d'éliminer un post dans un newsgroup ? :-p

merci