Поделиться через


Событие KeyPress

Происходит, когда пользователь нажимает клавишу с кодом ANSI.

Синтаксис

Частный вложенныйобъект _KeyPress( ByValKeyANSIas MSForms.ReturnInteger)

Синтаксис события KeyPress состоит из таких частей:

Part Описание
object Обязательно. Допустимый объект.
KeyANSI Обязательно. Целое значение, представляющее стандартный числовой код клавиши ANSI.

Замечания

Событие KeyPress происходит, когда пользователь нажимает клавишу, которая вводит печатаемый знак в выполняемой форме (клавиша с кодом ANSI) при том, что форма или элемент управления в ней имеет фокус. Событие может произойти до или после того, как клавиша отпущена. Это событие также возникает при отправке нажатия клавиши ANSI в форму или элемент управления с помощью действия SendKeys в макросе или инструкции SendKeys в Visual Basic.

Событие KeyPress может произойти при нажатии любой из следующих клавиш:

  • Любой печатный символ клавиатуры
  • Сочетание клавиш CTRL с символом из стандартного алфавита
  • СОЧЕТАНИЕ КЛАВИШ CTRL с любым специальным символом
  • BACKSPACE
  • ESC

Событие KeyPress не происходит при следующих условиях:

  • нажатие клавиши TAB;
  • нажатие клавиши ВВОД;
  • нажатие клавиши со стрелкой;
  • если при нажатии клавиши фокус перемещается с одного элемента управления на другой.

Примечание.

BACKSPACE входит в набор знаков ANSI, а DELETE — нет. Удаление символа в элементе управления с помощью BACKSPACE вызывает событие KeyPress; удаление символа с помощью delete не приводит к удалению.

Когда пользователь удерживает клавишу, которая производит код ANSI клавиши, попеременно повторяются события KeyDown и KeyPress. Когда пользователь отпускает клавишу, происходит событие KeyUp. Форма или элемент управления с фокусом получают все нажатия клавиш. Форма может иметь фокус, только если в ней нет элементов управления или все видимые элементы управления отключены.

Действием по умолчанию для события KeyPress является обработка кода события, который соответствует нажатой клавише. KeyANSI указывает на знак ANSI, который соответствует нажатой клавише или сочетанию клавиш. Событие KeyPress интерпретирует прописные и нижние регистры каждого символа как отдельные коды ключей и, следовательно, как два отдельных символа.

Чтобы ответить на физическое состояние клавиатуры или обработать нажатия клавиш, не распознанных событием KeyPress, таких как функциональные клавиши, клавиши перемещения и любые их сочетания с клавишами ALT, SHIFT и CTRL, используйте процедуры событий KeyDown и KeyUp.

Последовательность событий клавиатуры:

  1. KeyDown
  2. KeyPress
  3. KeyUp

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.