События происходят автоматически когда пользователь производит конкретные действия в системе или в приложении. События, ассоциированные с объектом, происходят, когда пользователь взаимодействует с объектом каким-либо способом, например, с помощью перебора с клавишей Tab, при щелках по клавишам мыши, перемещением на объект указателя мыши и т.д. Например, класс CommandButton содержит событие Click, которое срабатывает при щелчке по левой клавише мыши на объекте этого класса.

Вы можете добавить свой код в процедуру события объекта, с тем, чтобы при наступлении события для объекта, код мог быт автоматически исполнен. Например, вы можете добавить код в событие Click, для того, чтобы когда пользователь щелкнул по командной кнопке, автоматически выполнился бы код для производства какого-то действия, например для открытия формы. Системные события также могут исполнять код в событиях, например в случае использования элемента управления Timer в процедурном коде события Timer.

В приведенной ниже таблице содержится список базового набора событий Visual FoxPro, которые применимы к большинству элементов управления.

Базовые события в Visual FoxPro
Событие Событие наступает, когда

Init

создается объект.

Destroy

объект высвобождается из памяти.

Click

Пользователь щелкает на объекте, используя первичную клавишу мыши.

DblClick

Пользователь дважды щелкает на объекте, используя первичную клавишу мыши.

RightClick

Пользователь щелкает на объекте, используя вторичную клавишу мыши.

GotFocus

Объект получает фокус через действие пользователя, такое как перемещение с помощью клавиши табуляции или щелчок или с помощью переноса фокуса на объект программным способом, с помощью метода SetFocus. Для получения более подробной информации, see SetFocus Method.

LostFocus

Объект теряет фокус через действие пользователя, такое как перемещение с помощью клавиши табуляции или щелчок или с помощью переноса фокуса на другой объект программным способом, с помощью метода SetFocus.

KeyPress

Пользователь нажимает и отпускает клавишу.

MouseDown

Пользователь нажимает клавишу мыши, когда ее указатель находится над объектом.

MouseMove

Пользователь перемещает указатель мыши над объектом.

MouseUp

Пользователь отпускает клавишу мыши, когда ее указатель находится над объектом.

Вызов событий программным способом

Большинство событий происходит автоматически, когда система или пользователь производят действия. Однако, вы можете генерировать приведенные ниже события программным способом, используя определенные команды Visual FoxPro:

  • Используйте команду MOUSE для генерации событий Click, DblClick, MouseMove и DragDrop.

  • Используйте команду ERROR, для генерации события Error.

  • Используйте команду KEYBOARD для генерации события KeyPress.

Для получения более подробной информации, смотрите Команда MOUSE, Команда ERROR и Команда KEYBOARD .

Хотя вы не можете вызвать срабатывания большинства событий программным способом, вы можете вызвать процедуры, ассоциированные с событием, которые исполняют код события, но не вызывают события как такового. Например, приведенная ниже строка кода вызывает процедуру события Activate для формы frmPhoneLog и исполняет код события; однако, она не активизирует саму форму:

  CopyCode imageСкопировать код
frmPhoneLog.Activate

Если вы желаете активизировать форму, используйте метод формы Show:

  CopyCode imageСкопировать код
frmPhoneLog.Show

Вызво метода Show отображает и активизирует форму, при этом исполняется код в событии Activate.

Смотрите также