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

Описания RDS

Приложения

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

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

А.2.4. События общего назначения

А.2.4.12. RDS_BFM_LOADWINDOWCONFIG – загрузка конфигурации немодального окна блока

# Приложения

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

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

#### А.2.4. События общего назначения

##### А.2.4.12. RDS_BFM_LOADWINDOWCONFIG – загрузка конфигурации немодального окна блока

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

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

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

Константа RDS_BFM_LOADWINDOWCONFIG.

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

Указатель на структуру описания события RDS_BFM_WINCONFIGDATA.

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

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

Примечания

Реакция на событие RDS_BFM_LOADWINDOWCONFIG вызывается при восстановлении конфигурации окон для блоков, модели которых ранее сохранили конфигурацию каких-либо своих немодальных окон при помощи функции rdsSaveWindowConfig в реакциях на событие RDS_BFM_SAVEWINDOWCONFIG. Эта реакция вызывается у модели по одному разу для каждого ранее сохраненного окна. В третьем параметре функции модели при этом передается указатель на структуру RDS_BFM_WINCONFIGDATA, содержащую информацию об окне, конфигурация которого восстанавливается, и его параметры:

      typedef struct {
        DWORD servSize;             // Размер этой структуры в байтах
        RDSINT32 PrivateId;         // Внутренний идентификатор в блоке
        RDSCSTR AdditionalInfoA;    // Дополнительная информация или NULL (UTF8)
        RDSWCSTR AdditionalInfoW;   // Дополнительная информация или NULL (UTF16)
        //RDSXCSTR AdditionalInfo;  // Дополнительная информация или NULL (поле-псевдоним)
        RDSINT32 Left,Top;          // Положение окна
        RDSINT32 Width,Height;      // Размеры окна
        BOOL Maximized;             // Окно развернуто
        BOOL Visible;               // Окно видимо
      } RDS_BFM_WINCONFIGDATA;
      typedef RDS_BFM_WINCONFIGDATA *RDS_BFM_PWINCONFIGDATA;

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

servSize(DWORD)
  Размер этой структуры в байтах. Перед вызовом rdsSaveWindowConfig модель блока должна присвоить этому полю значение sizeof(RDS_BFM_WINCONFIGDATA). В реакции на событие RDS_BFM_LOADWINDOWCONFIG значение этому полю присваивает RDS.
PrivateId(RDSINT32)
  Внутренний идентификатор окна в блоке. В реакции на событие по этому идентификатору модель должна понять, конфигурация какого именно окна должна быть восстановлена.
AdditionalInfoA(RDSCSTR),AdditionalInfoW(RDSWCSTR),AdditionalInfo(RDSXCSTR)
  Указатель на строку с произвольной дополнительной информацией об окне, переданной моделью при сохранении конфигурации окна. Если такой информации нет, поле может иметь значение NULL.
Left, Top(RDSINT32)
  Координаты левого верхнего угла окна.
Width, Height(RDSINT32)
  Ширина и высота окна.
Maximized(BOOL)
  Окно развернуто на весь экран.
Visible(BOOL)
  Окно не скрыто и отображается на экране.

При сохранении конфигурации окон в реакции на событие RDS_BFM_SAVEWINDOWCONFIG модель блока заполняет структуру ?(_structname)} и передает ее в RDS вызовом rdsSaveWindowConfig столько раз, сколько немодальных окон было создано блоком. При восстановлении конфигурации окон в реакциях на событие RDS_BFM_LOADWINDOWCONFIG модель считывает данные из структуры и соответствующим образом меняет параметры окон блока.

См. также

RDS_BFM_LOADWINDOWCONFIG, RDS_BFM_SAVEWINDOWCONFIG, rdsSaveWindowConfig.