Difference between revisions of "OnKeyPress"

From Lazarus wiki
Jump to navigationJump to search
(Creating this article)
 
(Adding link to key down)
Line 28: Line 28:
 
== See also ==
 
== See also ==
 
* [[LCL Key Handling]] Detailed background on key handling in the LCL.
 
* [[LCL Key Handling]] Detailed background on key handling in the LCL.
 +
* [[key down]]
  
 
[[Category:LCL]]
 
[[Category:LCL]]

Revision as of 10:22, 5 February 2019

English (en)

Overview

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

Note that this procedure handles printable characters only. Non-printable characters (e.g. control sequences) are handled by the OnKeyDown event.

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

Example

uses
  ...LCLType, Dialogs, ...;
  ...  

procedure TMainForm.FormKeyPress(Sender: TObject; var Key: char);
begin
  case key of
    '0': ShowMessage('"0" key pressed');
    '1': ShowMessage('"1" key pressed');
    '2': ShowMessage('"2" key pressed');
  end;
  Key := #0; // Necessary for some widgetsets, e.g. Cocoa, in order to disable processing in subsequent elements.
end;

See also