Delphi Tips & Tricks softsale > Delphi Tips & Tricks      

następna rada >
< poprzednia rada

Jak odróżnić który klawisz ENTER został naciśnięty?

W celu stwierdzenia czy naciśnięty został klawisz ENTER z klawiatur standardowej czy z numerycznej należy użyć następującego kodu:

procedure TForm1.WMKeyDown(var Message: TWMKeyDown) ;
begin
  inherited;
   case Message.CharCode of
     VK_RETURN:
       if (Message.KeyData and $1000000 <> 0) then
         // testuj 24 bit lparam
         ShowMessage('Został naciśnięty klawisz ENTER na klawiaturze numerycznej')
       else
         ShowMessage('Został naciśniety klawisz ENTER na klawiaturze standardowej') ;
   end;
end;
nalezy pamiętać o deklaracji procedury: procedure WMKeyDown(var Message: TWMKeyDown); message WM_CHAR;

Ilustruje to przykład tip36.zip .


SOFTSALE - Oprogramowanie i Szkolenia
softsale@softsale.com.pl

03-565 Warszawa , ul. Borzymowska 43 lok. 301C
tel/fax:4084840,0607612428