Witam wszystkich, mam pytanie odnośnie komponentu ListBox, mianowicie chciałbym samemu oprogramować zdarzenie OnKeyDown pod kątem liter A .. Z i samemu zareagować na podany w parametrze kod klawisza; Niestety jeżeli nawet wcisnę odpowiedni klawisz (jakąś literę) to mój kod się wykonuje, ale kod klawisza zostaje dalej mimo, że przypisuję do niego kod zerowy. Poniżej przykładowy kod:
procedure TForm1.ListBox1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
{ [...] }
if Key in [$41 .. $5A] then
begin
{ moje operacje }
end;
{ [...] }
Key := $0;
end;
Mimo tego kod klawisza nie zostaje wyzerowany i przechodzi dalej, gdzie zostaje obsłużony standardowym działaniem - czyli zaznacza item, którego pierwszą literą jest podany klawisz w argumencie procedury.
Moje pytanie brzmi: w jaki sposób wyzerować kod klawisza tak, by komponent nie zaznaczał "po swojemu" itema i tym samym całkowicie przejąć kontrolę nad naciskanymi klawiszami (literami)?