OnKeyPreview

Синтаксис

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».

См. также:

IControl