Difference between revisions of "key down"

From Free Pascal wiki
Jump to navigationJump to search
(→‎Overview: + Links to doc; Not on Unicode characters)
Line 1: Line 1:
{{key down}}
+
{{Translate}}
 
== Overview ==
 
== Overview ==
 
The {{Doc|package=LCL|unit=controls|identifier=twincontrol.onkeydown|text=OnKeyDown}} event of an object allows you to check what key the user has pressed.
 
The {{Doc|package=LCL|unit=controls|identifier=twincontrol.onkeydown|text=OnKeyDown}} event of an object allows you to check what key the user has pressed.

Revision as of 22:35, 12 January 2015

Template:Translate

Overview

The OnKeyDown event of an object allows you to check what key the user has pressed.

Note that the procedure keeps track of shift/alt/ctrl etc keys separately (in Shift) from the "regular" keys (in Key) - see the procedure signature in the example.

Light bulb  Note: OnKeyDown doesn't support Unicode characters. If you need Unicode characters but no control characters, use OnUTF8KeyPress.

Example

uses
  ...LCLType, Dialogs, ...;
  ...  
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  // Example: checking for simple keys:
  if (Key = VK_DOWN) or
     (Key = VK_UP) then
    ShowMessage('Pressed arrow up or down key');
  // Check for Alt-F2
  if (Key = VK_F2) and (ssAlt in Shift) then
    ShowMessage('Alt F2 was pressed')
end;

See also