Hola jhonalone.
Veo que en el evento
OnClick de tu código figura:
Código Delphi
[-]
...
if (GetKeyState(VK_DOWN)<0)or(GetKeyState(VK_UP)<0) then Exit;
...
Pero si revisás el código de mi último mensaje verás que en los eventos
OnClick y
OnChange también evaluo:
Código Delphi
[-]
...
if (GetKeyState(VK_DOWN)<0) or (GetKeyState(VK_UP)<0)
or (GetKeyState(VK_RETURN) < 0) then Exit;
...
El valor de la tecla presionada lo podés evaluar en el evento
OnKeyDown sin ningún problema.
Saludos.