Код события |
Движение мыши |
Старое состояние |
Новое состояние |
0 |
Неподвижна |
Не нажата |
Не нажата |
1 |
Неподвижна |
Не нажата |
Нажата |
2 |
Неподвижна |
Нажата |
Не нажата |
3 |
Неподвижна |
Нажата |
Нажата |
4 |
Движется |
Не нажата |
Не нажата |
5 |
Движется |
Не нажата |
Нажата |
6 |
Движется |
Нажата |
Не нажата |
7 |
Движется |
Нажата |
Нажата |
Вопрос о том, состояние каких кнопок надо анализировать в задаче, решает программист. На практике основной является левая кнопка, с ней ассоциируется большинство выполняемых действий. Правая используется реже и имеет вспомогательное значение. Одновременное нажатие обеих кнопок обычно не применяется. Средней кнопки у мыши может просто не быть, поэтому она не используется в большинстве программ.
Подпрограмма Statms опрашивает состояние мыши с помощью функции Mouse 3 и формирует коды событий в соответствии с табл. 6.2.
В качестве параметров подпрограмма, приведенная в примере 6.12, использует переменные, описанные в примере 6.8. Значения входных параметров содержат переменные xpointer, YPointer и Mstatus. Выходные параметры помещаются в те же переменные, кроме того, код события для правой кнопки возвращается в переменной RBevent, а для левой — в LBevent.