Шаг 51.
Visual Prolog.
События GUI самой ОС и "собственное" рисование

    На этом шаге мы рассмотрим события GUI самой ОС и "собственное" рисование.

События GUI самой ОС

   e_Native(Message,wParam,lParam)

    Это событие дает возможность получать все события графического интерфейса пользователя самой ОС (а не только VPI), которые посылаются окну.

    Чтобы разрешить такие сообщения e_Native, вы должны вызвать предикат:

   win_EnableHook(Window,boolean OnOff)

с параметром OnOff=b_True.

    Если обработчик события e_Native успешно выполнится, то для этого события будет произведена обработка VPI по умолчанию. Если обработчик выполнится неуспешно, то событие (если нужно) будет преобразовано в обычное событие VPI.

    Системе управления окнами может быть возвращено значение long.

"Собственное" рисование

   e_OwnerDraw(CtlType,CtlId,ItemID,Action,State,
      Window,rct RectItem,long ItemData)

    Это событие посылается окну, которое имеет элементы управления с флагами стиля wsf_OwnerDraw или wsf_OwnerDrawVariable. При получении этого события приложение должно нарисовать элемент управления.

Возврат размера элемента "собственного" рисования

   e_OwnerMeasureItem(CtlType,CtlId,ItemId, Data)

    Это событие посылается окну, которому принадлежат элементы управления с флагом стиля wsf_OwnerDraw, и используется для определения размеров пункта меню, элемента списка и т. д. Размер должен возвращаться как возвращаемое значение предикатом обработчика событий.

    На следующем шаге мы рассмотрим перерисовку окна, события от таймера и динамический обмен данными.




Предыдущий шаг Содержание Следующий шаг