Приложения
Приложение А. Функции, константы и структуры 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.