Difference between revisions of "Студия/OnBeforeChange"
m (1 revision imported) |
|
(No difference)
|
Latest revision as of 07:55, 7 February 2021
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;