Приложения
Приложение А. Функции, константы и структуры RDS
А.5. Сервисные функции и макросы RDS
А.5.2. Управление работой RDS и функции общего назначения
А.5.2.35. rdsModalWindowExists – наличие открытых модальных окон
Функция rdsModalWindowExists возвращает TRUE, если в данный момент в RDS открыто какое-либо модальное окно.
BOOL RDSCALL rdsModalWindowExists(void);
Тип указателя на эту функцию
RDS_BV
Возвращаемое значение
TRUE, если в RDS есть открытое модальное окно, и FALSE, если все открытые окна немодальные.
Примечания
К модальным окнам, наличие которых проверяется этой функцией, относятся:
- собственные модальные окна RDS;
- стандартные сообщения пользователю (выводимые функцией rdsMessageBox);
- модальные окна, открываемые сервисными функциями RDS;
- любое другое окно, перед открытием которого вызвана функция rdsBlockModalWinOpen.
Следует помнить, что для того, чтобы открытие модальных окон функциями Windows API учитывалось RDS и отражалось на результате вызова этой функции, перед открытием такого окна следует вызывать функцию rdsBlockModalWinOpen, а после закрытия – rdsBlockModalWinClose. Проблемы, которые могут возникнуть при ненадлежащем открытии модальных окон функциями Windows API, описаны в §1.8 и §2.7.5 руководства программиста.
Вызов rdsModalWindowExists обычно применяется для того, чтобы заблокировать какие-либо действия, пока на экране находится модальное окно. Например, если какой-либо блок сообщает что-то пользователю по таймеру, и нет острой необходимости выводить эти сообщения в точно определенные моменты времени, вывод сообщения лучше не производить поверх открытого модального окна – это может сбить пользователя с толку, поскольку открытое окно не будет иметь ничего общего с появившимся поверх него сообщением.
См. также
rdsBlockModalWinOpen, rdsBlockModalWinClose, rdsModalWindowMustClose.