Навигация:
<< >> Оглавление Указатель

Приложения

Приложение А. Функции, константы и структуры RDS

А.2. События блока и связанные с ними описания

А.2.6. События пользовательского интерфейса и рисования внешнего вида блоков

В реакциях на эти события осуществляется взаимодействие с пользователем и настройка параметров блока, а также программное рисование внешнего вида блока, если это необходимо.

А.2.6.1. RDS_BFM_BLOCKPANEL – уведомление от панели блока в подсистеме

Поток, в котором вызывается функция модели

Главный поток RDS.

Первый параметр функции модели (int CallMode)

Константа RDS_BFM_BLOCKPANEL.

Третий параметр функции модели (void *ExtParam)

Указатель на структуру RDS_PANOPERATION, в которой содержится причина вызова (что именно произошло с панелью блока) и указатель на структуру описания панели.

Возвращаемое функцией модели значение

Не используется, можно возвращать любое значение.

Примечания

Реакция на это событие вызывается при любых действиях с панелью блока в подсистеме: при ее создании, удалении, перемещении, изменении размера и т.п. (см. §2.10.4 руководства программиста). В третьем параметре функции модели при этом передается указатель на структуру RDS_PANOPERATION, описывающую произошедшее с панелью:

  typedef struct {
     Operation;        // Действие с панелью
     Panel; // Описание панели
  } RDS_PANOPERATION;
  typedef RDS_PANOPERATION *RDS_PPANOPERATION;

Поля структуры

Operation ()
Действие с панелью, на которое может отреагировать модель блока. В этом поле может содержаться одна из следующих констант:
RDS_PANOP_CREATE Для панели создан объект-окно Windows. Модель блока теперь может использовать его дескриптор (например, для добавления внутрь панели различных полей ввода).
RDS_PANOP_DESTROY Объект-окно Windows, связанный с панелью, будет уничтожен. Модель должна удалить все поля ввода и другие объекты, которые она создала в этом окне.
RDS_PANOP_RESIZED Размер панели только что изменен пользователем или одной из сервисных функций RDS.
RDS_PANOP_MOVED Панель перемещена пользователем.
RDS_PANOP_PAINT Модель должна перерисовать содержимое панели.
Panel ()
Указатель на структуру описания панели RDS_PANDESCRIPTION. Эта структура создается только на время вызова модели блока для реакции на событие RDS_BFM_BLOCKPANEL. После завершения реакции структура уничтожается, поэтому переданный указатель нельзя запоминать для дальнейшего использования. Если модели блока понадобится описание панели вне реакции на событие RDS_BFM_BLOCKPANEL, она может вызвать сервисную функцию rdsPANGetDescr.

Пример

Пример модели блока, работающей с панелью, рассматривается в §2.10.4 руководства программиста.

См. также

RDS_PANDESCRIPTION, rdsPANCreate, rdsPANGetDescr.


<< >> Оглавление Указатель