Происходит, когда пользоавтель нажимает и отпускает клавишу на клавиатуре. Вы можете использовать свойство KeyPress для перехвата нажатий клавишн в элементе управления. Вы можете, кроме того, незамедлительно проверить соответствие или формат символов непосредственно во время их печати. Используйте свойство KeyPreview для создания глобальных процедур обработки ввода с клавиатуры.
PROCEDURE Object.KeyPress LPARAMETERS nKeyCode, nShiftAltCtrl |
Параметры
- nKeyCode
-
Содержит число, которое идентифицирует нажатую клавишу. Со списком кодов для специальных клавиш и клавишных комбинаций можно ознакомиться в описании функции INKEY().
- nShiftAltCtrl
-
Устанавливает конкретный бит, если во время нажатия на клавишу, определенную в nKeyCode удерживалась нажатой одна из клавиш-модификаторов. Клавишами-модификаторами, действительными в Visual FoxPro являются клавиши SHIFT, CTRL и ALT.
В приведенной ниже таблице перечислены значения клавиш-модификаторов для nShiftAltCtrl.
nShiftAltCtrl Клавиша-модификатор 1
SHIFT
2
CTRL
4
ALT
Этот параметр представляет собой сумму бит, где менее значимые биты соответствуют клавише SHIFT (бит 0), клавише CTRL (бит 1) и клавише ALT (бит 2). Эти биты соответствуют значениям 1, 2 и 4, соответственно. Этот параметр показывает состояние этих клавиш. Биты могут быть установлены так: все - все клавиши-модификаторы нажаты; часть - часть клавиш-модификаторы нажата; ни один - ни одна клавиша-модификатор не нажата. Например, если обе клавиши - и CTRL, и ALT - были нажаты, значение параметра nShiftAltCtrl автоматически устанавливается равным 6.
Примечания
Применяется к: CheckBox | ComboBox | CommandButton | EditBox | Form | Grid | ListBox | OptionButton | Spinner | TextBox
Событие KeyPress не происходит для любой комбинации клавиш с удерживаемой нажатой клавишей ALT.
Событие KeyPress получает объект, на который установлен фокус.
Форма может получить событие KeyPress в трех специальных случаях:
-
Форма не содержит элементов управления, или ни один из элементов не является видимым или незаблокированным.
-
Значение свойства формы KeyPreview установлено равным True (.T.). В этом случае событие KeyPress первой получает форма, а затем элемент управления, имеющий фокус.
-
Элемент управления на форме не может обрабатывать клавишные нажатия, например, при нажатии на TAB происходит перенос фокуса на следующий элемент управления, расположенный на форме.
Если свойство решетки (grid) AllowCellSelection установлено в значение True (.T.), Visual FoxPro сбрасывает событие KeyPress элемента управления Grid и использует событие на уровне индивидуальной ячейки.
Смотрите также
Справочное руководство
Функция INKEY()Свойство KeyPreview
Прочие ресурсы
События (Visual FoxPro)Справочное руководство по языку (Visual FoxPro)