Студия/OnBeforeChange
| OnBeforeChange (Визуальные события) | |||||||
|---|---|---|---|---|---|---|---|
| |||||||
Событие, возникающее до принятия нажатия клавиши (или комбинацию клавиш) элементом. Нажатие может быть проигнорировано, если событие возвратит соответствующий результат. Для табличных элементов используется событие OnKeyPress.
Аргументы
<Key (INT)>- Виртуальный код нажатой клавиши (см. документацию Windows, используются коды клавиш, типаVK_BACKи т.п.). Большинство цифровых или литерных клавиш имеет коды, совпадающие с кодами ASCII.<Modifiers (INT)>- Модификаторы события. Битовая маска следующего содержания (статусы клавиш можно проверить также с помощью функции IsKeyComboActive):- бит 0: Нажата клавиша Shift
- бит 1: Нажата клавиша Control
- бит 2: Нажата клавиша Alt
<Result (INT)>- (возможен аргумент-переменная (ByRef)) Переменная результата может принимать значения:- 0 (по умолчанию) -- Принять нажатие.
- 1 -- Отвергнуть нажатие (нажатие клавиши будет проигнорировано).
Примеры
//Пример события OnBeforeChange для отлова ввода цифр в поле редактирования
Result:=1;
If (Key>=Asc("0"))And(Key<=Asc("9")) Then
If НажатаЦифра(Chr(Key)) Then
Result:=0;
EndIf;
Else
//13 = VK_RETURN (Enter)
If Key=13 Then
If ПринятьКод() Then
Result:=0;
EndIf;
EndIf;
EndIf;