Текущий раздел:

Описания RDS

Приложения

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

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

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

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

# Приложения

## Приложение А. Функции, константы и структуры 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 {
        RDSINT32 Operation;        // Действие с панелью
        RDS_PPANDESCRIPTION Panel; // Описание панели
      } RDS_PANOPERATION;
      typedef RDS_PANOPERATION *RDS_PPANOPERATION;

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

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

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

Panel(RDS_PPANDESCRIPTION)
  Указатель на структуру описания панели RDS_PANDESCRIPTION. Эта структура создается только на время вызова модели блока для реакции на событие RDS_BFM_BLOCKPANEL. После завершения реакции структура уничтожается, поэтому переданный указатель нельзя запоминать для дальнейшего использования. Если модели блока понадобится описание панели вне реакции на событие RDS_BFM_BLOCKPANEL, она может вызвать сервисную функцию rdsPANGetDescr.

Пример

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

См. также

RDS_PANDESCRIPTION, rdsPANCreate, rdsPANGetDescr.