KeyMessage: KeyMessageType;
The KeyMessage property returns a value that indicates why the OnKeyPreview event was generated.
The OnKeyPreview event occurs before such events as OnKeyDown, OnKeyPress, and OnKeyUp. Currently, the KeyMessage property is used to check, before which event the OnKeyPreview event occurred.
Executing the example requires a form and the EditBox component named EditBox1 on it. This procedure is set as a handler of the OnKeyPreview event for the EditBox1.
Sub EditBox1OnKeyPreview(Sender: Object; Args: IKeyPreviewEventArgs);
Begin
If (Args.KeyMessage = KeyMessageType.KeyUp) And (Args.Key = Keys.A) Then
Debug.WriteLine("OnKeyUp event cancellation for A key");
Args.Cancel := True;
End If;
End Sub EditBox1OnKeyPreview;
After executing the example, if the A key was pressed and released in the area of the component, when the text was entered, only OnKeyDown and OnKeyPress events are handled. The handling of the OnKeyUp further event is canceled.
See also: