docs.miraculix.ru


Примеры приложений под MiraculixOS
  • Работа с файлами
  • Процессы
  • Графика
  • Контролы
  • Разное

  • Исходники программ
  • MsgBox
  • Run
  • Cmd
  • KeyCode

  • Разное
  • Скриншоты
  • .:: Система событий в Miraculix ::.


    Для ожидания события используется функция WaitMessage:
    call [WaitMessage]

    После неё может вызываться стандартный обработчик событий StdHandler:
    call [StdHandler]

    Конечно он может быть и после всех ваших проверок, но он должен быть в цикле, потому что он обрабатывает такие события как развернуть/восстановить окно и многие другие.

    Далее вы можете проверять, что же это за событие и нужно-ли оно вам вообще. В Miraculix могут происходить следующие события(не считая сообщения от других приложений):

    EventID_Redraw(1)-перерисовка окна
    EventID_Focus(2)-получение фокуса
    EventID_LostFocus(3)-потеря фокуса
    EventID_Close(4)-закрытие
    EventID_MouseEvent(5)-мышь
    EventID_Ctrl0(10)-Пользователь хотел нажать на кнопку, но передумал :) - действие было отменено
    EventID_Ctrl1(11)-курсор над кнопкой
    EventID_Ctrl2(12)-(кнопка мыши нажата и курсор над кнопкой, но ещё не отпущена)
    EventID_Ctrl3(13)-кнопка нажата
    EventID_Maximize(14)-максимизация окна
    EventID_Restore(15)-восстановление окна
    EventID_DoubleClick(16)-двойной клик
    EventID_Kbd(20)-нажата клавиша на клавиатуре
    EventID_IPC(50)-межпроцессное взаимодействие


    Обратите внимание на то, что:
    1) Если событие (сообщение) послала система, то идентификатор события всегда находится в bh
    2) Параметры могу находится в bl, esi и ebp, в зависимости от типа события (Впринципе, это по аналогии с Windows)

    Copyright© 2007 by mistifi(ator