OnKeyUp na gridzie z klawiatury numerycznej

0

No mam problem, którego nie potrafię ani rozwiązać ani wyguglować.
W zdarzeniu OnKeyUp na gridzie chcę przechwycić wciśnięty klawisz. Wszystko dobrze wchodzi poza cyferkami - na przykład "3" jeśli było wciśnięte z klawiatury numerycznej.
State jest pusty, kod klawisza wykazany jest jako 99 i traktowany jest jak "c" a nie jak "3".

Może ktoś wie, co można z tym zrobić? [???]

0

Masz takie coś w pliku windows.pas

  VK_NUMPAD0 = 96;
  {$EXTERNALSYM VK_NUMPAD1}
  VK_NUMPAD1 = 97;
  {$EXTERNALSYM VK_NUMPAD2}
  VK_NUMPAD2 = 98;
  {$EXTERNALSYM VK_NUMPAD3}
  VK_NUMPAD3 = 99;
  {$EXTERNALSYM VK_NUMPAD4}
  VK_NUMPAD4 = 100;
  {$EXTERNALSYM VK_NUMPAD5}
  VK_NUMPAD5 = 101;
  {$EXTERNALSYM VK_NUMPAD6}
  VK_NUMPAD6 = 102;
  {$EXTERNALSYM VK_NUMPAD7}
  VK_NUMPAD7 = 103;
  {$EXTERNALSYM VK_NUMPAD8}
  VK_NUMPAD8 = 104;
  {$EXTERNALSYM VK_NUMPAD9}
  VK_NUMPAD9 = 105;
0

Przeceniłeś mnie :-) Twoja podpowiedź nie przybliża mnie do celu. Gdzieś znalazłem takie kody ale do cholery nie wiem jak to wykorzystać :-/

0

Hm, niewiem ale może nie zauwarzyłeś ale Key w spomnianej metodzie jest 16 bitowe a nie 8bitowe(chociaż to nie ma większego znaczenia), ponadto gdyby przekawywać tylko char'y to niepozwoliło by to na przekazanie informacji o znakach które nie są drukowalne.
Więc do metody są przekazywane Virtualne kody

{ VK_0 thru VK_9 are the same as ASCII '0' thru '9' ($30 - $39) }
{ VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' ($41 - $5A) }
...
VK_NUMPAD0 = 96 ... VK_NUMPAD9 = 105;

Zauważ że jak drukujesz wartość Key(jako Char) to naciśnięcie 'a' spowoduje wyświetlenie 'A' a nie 'a' co powinno dawać do myślenia

0

Widzę że dając odpowiedz liczysz na pracę myślową adresata :-D Ale dzięki bardzo - to mi pozwala podjąć trop :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1