Difference between revisions of "key down"
From Free Pascal wiki
Jump to navigationJump to search (→Example: Use unit LCLType instead of Windows) |
(→Overview: + Links to doc; Not on Unicode characters) |
||
Line 1: | Line 1: | ||
{{key down}} | {{key down}} | ||
== Overview == | == Overview == | ||
− | The | + | 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. |
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. | 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. | ||
+ | |||
+ | {{Note|''OnKeyDown'' doesn't support Unicode characters. If you need Unicode characters but no control characters, use {{Doc|package=LCL|unit=controls|identifier=twincontrol.onutf8keypress|text=OnUTF8KeyPress}}.}} | ||
== Example == | == Example == |
Revision as of 21:33, 12 January 2015
│
Deutsch (de) │
English (en) │
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.
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
- Description of keyboard events in Delphi; should be applicable to Lazarus, as well.
- LCL Key Handling Detailed background on key handling in the LCL.