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 positioned 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 processed. The processing of the OnKeyUp further event is cancelled.
See also: