Виды событий
Существуют 4 основных класса событий: события от мыши, события от клавиатуры, сообщения и пустые события. Внутри класса события могут подразделяться на виды. Например, класс событий от мыши состоит из таких видов, как перемещение указателя мыши, нажатие на кнопку мыши и т.п. Каждый класс имеет определенную маску, с помощью которой можно легко идентифицировать класс события, не анализируя его вид. Например, вместо того, чтобы проверять 4 различных вида событий от мыши, можно просто проверить, пришло ли это событие от мыши или оно имеет другой источник. Два следующих оператора идентичны:
if Event.What and ((svMouseDown or
evMouseUp or evMouseMove or evMouseAuto} <> 0) then ...
if Event.What and (evMouse <> 0) then ...
Для анализа класса событий используются следующие маски:
evNothing {'Пустое' событие};
evMouse {Событие от мыши};
evKeyboard {Событие от клавиатуры};
evMessage {Сообщение}
На рис. 18.1 показаны разряды поля What и соответствующие маски.