Página 1 de 1

Entendendo eventos do teclado

Enviado: 02 Set 2018 11:19
por Itamar M. Lins Jr.
Ola!
Estava sem entender até hoje, como esse código funcionava.

Código: Selecionar todos

oBrw:bOther :=  {|oBrw,msg,wp|fKeyDown(oBrw,msg,wp)}
...
Function fKeyDown( oBrw,msg,wp )
IF msg == WM_KEYDOWN
...
ENDIF

if msg == WM_CHAR
..
endif

Return .T.
A pergunta que ficava na minha cabeça é como pode MSG ser duas coisas ao mesmo tempo ?
Agora eu entendi que a função do teclado é chamada 2 vezes. Uma para VERIFICAR WM_CHAR e outra WM_KEYDOWN.
Pq, sempre existe WM_KEYDOWN, mas pode ou não existir WM_CHAR, tipo pressionei CTRL ou SHIFT...não é WM_CHAR

WM_CHAR = algum caractere do teclado.
WM_KEYDOWN = qualquer tecla do teclado

Saudações,
Itamar M. Lins Jr.

Entendendo eventos do teclado

Enviado: 02 Set 2018 18:29
por JoséQuintas
Igual mouse.
Tem mouse down e mouse up.