Приложения
Приложение А. Функции, константы и структуры RDS
А.2. События блока и связанные с ними описания
А.2.6. События пользовательского интерфейса и рисования внешнего вида блоков
А.2.6.23. RDS_BFM_WINDOWOPERATION – открытие и закрытие окна подсистемы
Поток, в котором вызывается функция модели
Главный поток RDS.
Первый параметр функции модели (int CallMode)
Константа RDS_BFM_WINDOWOPERATION.
Третий параметр функции модели (void *ExtParam)
Указатель на структуру описания события RDS_WINOPERATIONDATA.
Возвращаемое функцией модели значение
Не используется, можно возвращать любое значение.
Примечания
Реакция на событие RDS_BFM_WINDOWOPERATION вызывается у подсистемы и у всех непосредственно находящихся в ней блоков при открытии или закрытии окна подсистемы. Модели глубоко вложенных блоков (блоков, находящихся в подсистемах этой подсистемы) не вызываются.
В параметре ExtParam передается указатель на структуру RDS_WINOPERATIONDATA, описывающую событие:
typedef struct { RDSINT32 Operation; // Операция с окном HWND Handle; // Дескриптор окна BOOL EditMode; // Включен режим редактирования BOOL Running; // Идет расчет BOOL OwnWindow; // Операция с окном данной подсистемы } RDS_WINOPERATIONDATA; typedef RDS_WINOPERATIONDATA *RDS_PWINOPERATIONDATA;
Поля структуры
- Operation (RDSINT32)
- Одна из констант RDS_SWO_*, указывающая, что именно произошло с окном:
RDS_SWO_OPEN открытие окна; RDS_SWO_CLOSE закрытие окна. - Handle (HWND)
- Дескриптор окна подсистемы. Его можно использовать в вызовах Windows API.
- EditMode (BOOL)
- TRUE – RDS находится в режиме редактирования, FALSE – в режимах моделирования или расчета.
- Running (BOOL)
- TRUE – RDS находится в режиме расчета (то есть работает поток расчета), FALSE – в режимах редактирования или моделирования.
- OwnWindow (BOOL)
- TRUE – открыто или закрыто окно подсистемы, модель которой вызывается, FALSE – окно подсистемы, родительской по отношению к вызываемой подсистеме или блоку.
См. также
rdsCheckSystemWindow, rdsCloseSystemWindow, rdsOpenSystemWindow, rdsOpenSystemWindowEx.