Турбо Паскаль 6.0


Константы evXXXX Drivers


================================================================= Функция Эти мнемоники обозначают типы событий для обработчиков событий Turbo Vision. Константы evXXXX используются в нескольких местах: в поле What записи события, в поле EventMask видимого элемента и в переменных PositionalEvents и FocusedEvents.

Значения Следующие значения флагов событий обозначают стандартные типы событий:

Таблица 14.9. Флаги стандартных событий.

------------------------------------------------------------ Константа Значение Назначение ------------------------------------------------------------ evMouseDown $0001 Кнопка мышки нажата evMouseUp $0002 Кнопка мышки отпущена evMouseMove $0004 Мышка изменила положение evMouseAuto $0008 Периодическое событие до тех пор, пока нажата кнопка мышки evKeyDown $0010 Клавиша нажата evCommand $0100 Событие-команда evBroadcast $0200 Событие-общее сообщение ------------------------------------------------------------

Следующие константы могут использоваться для маскирования типов событий:

Таблица 14.10. Маски стандартных событий.

------------------------------------------------------------ Константа Значение Назначение ------------------------------------------------------------ evNothing $0000 Событие уже обработано evMouse $000F Событие от мышки evKeyboard $0010 Событие от клавиатуры evMessage $FF00 Событие-сообщение (команда, общее сообщение или определено пользователем). ------------------------------------------------------------

Биты маски события определены так:

Рис. 14.2. Отображение битов маски события.

+------ Флаги события ---------+ msb lsb +-+-+-+-+-+-+-+------------------- evMessage = $FF00 | | | | | | | | +----------- evKeyboard = $0010 | | | | | | | | | +-+-+-+--- evMouse = $000F +++++++++++++++++=+=+=+++++++++++ +=+=+=+=+=+=+++++=+=+=+++++++++++ | | | | | | +--- evMouseDown = $0001 | | | | | +----- evMouseUp = $0002 | | | | +------- evMouseMove = $0004 | | | +--------- evMouseAuto = $0008 | | +----------- evKeyDown = $0010 | +------------------- evCommand = $0100 +--------------------- evBroadcast = $0200

Маски стандартных событий могут быть использованы для быстрого определения, принадлежит ли событие конкретному семейству событий. Например,

if Event.What and evMouse <> 0 then DoMouseEvent;

См. также TEvent, TView.EventMask, GetKeyEvent, GetMouseEvent, методы HandleEvent, PositionalEvents, FocusedEvents.




Начало  Назад  Вперед