Sub OnKeyPreview(Sender: Object; Args: IKeyPreviewEventArgs);
Begin
//набор операторов;
End Sub OnKeyPreview;
Sender. Параметр, возвращающий компонент, сгенерировавший событие;
Args. Параметр, позволяющий определить параметры события.
Событие OnKeyPreview наступает перед каждым событием, связанным с нажатием клавиш.
Данное событие происходит перед событиями OnKeyDown, OnKeyPress и OnKeyUp. Может использоваться для отмены последующего события или для переназначения клавиш, сгенерировавших данное событие.
Примечание. При переназначении клавиш необходимо учитывать следующее:
- алфавитно-цифровые клавиши (а также их сочетания с управляющими) могут быть переназначены только на алфавитно-цифровые (сочетания с управляющими);
- функциональные и управляющие клавиши (либо их сочетания) могут быть переназначены только на функциональные и управляющие (сочетания функциональных и управляющих клавиш).
Для выполнения примера предполагается наличие формы. На форме расположено несколько компонентов, которые могут принимать фокус. В качестве обработчика события OnKeyPreview для всех компонентов используется следующая процедура:
Sub ProcedureOnKeyPreview(Sender: Object; Args: IKeyPreviewEventArgs);
Begin
If Args.Key = Keys.A Then
Args.Key := Keys.B;
End If;
End Sub ProcedureOnKeyPreview;
При выполнении примера, если во время ввода текста в области какого-либо компонента была нажата клавиша с латинской буквой «А», то в дальнейших событиях (OnKeyDown, OnKeyPress, OnKeyUp) в аргументе будет передаваться код клавиши с латинской буквой «B».
См. также: