Список событий
Очередное событие можно получить вызовом одной из функций 10
(ожидать события), 11 (проверить без ожидания), 23
(ожидать в течение заданного времени).
Эти функции возвращают только те события, которые входят в маску,
устанавливаемую функцией 40. По умолчанию это первые три, чего
вполне достаточно для многих приложений.
Коды событий:
- 1 = сообщение о перерисовке (сбрасывается при вызове функции 0)
- 2 = нажата клавиша на клавиатуре (поступает, только когда окно
активно) или нажата "горячая клавиша";
сбрасывается, когда все клавиши из буфера считаны функцией 2
- 3 = нажата кнопка, определённая ранее функцией 8 (или кнопка
закрытия, созданная неявно функцией 0; кнопка минимизации
обрабатывается системой и о ней сообщения не приходит;
поступает, только когда окно активно; сбрасывается, когда все
кнопки из буфера считаны функцией 17)
- 4 = зарезервировано (в текущей реализации никогда не приходит даже
при размаскировке функцией 40)
- 5 = перерисовывается фон рабочего стола (сбрасывается
автоматически после перерисовки, так что если во время перерисовки
фона программа не ждёт и не проверяет события, то этого события
она не заметит)
- 6 = событие от мыши (что-то случилось - нажатие на кнопку мыши
или перемещение; сбрасывается при прочтении)
- 7 = произошло событие IPC (смотри функцию 60 - Inter Process
Communication; сбрасывается при прочтении)
- 8 = произошло сетевое событие (сбрасывается при прочтении;
смотри работу с сетью)
- 9 = произошло отладочное событие (сбрасывается при прочтении;
смотри отладочную подсистему)
- 16..31 = произошло событие с соответствующим IRQ
(16=IRQ0, 31=IRQ15) (сбрасывается при считывании всех данных IRQ)