Приложения
Приложение А. Функции, константы и структуры RDS
А.5. Сервисные функции и макросы RDS
А.5.31. Вспомогательный объект для панелей в окне подсистемы
А.5.31.14. Команда RDS_PAN_VISIBLE – видимость панели
Команда RDS_PAN_VISIBLE позволяет показывать и скрывать панель, а также узнавать, скрыта ли она в данный момент.
Вызов команды для установки
int iShow= … // 1 – показать, 0 - скрыть rdsSetObjectInt(Panel,RDS_PAN_VISIBLE,0,iShow);
Вызов команды для чтения
int iShow=rdsGetObjectInt(Panel,RDS_PAN_VISIBLE,0);
Параметры и результат
- Panel (RDS_HOBJECT)
- Идентификатор вспомогательного объекта-панели, ранее созданного функцией rdsPANCreate.
- iShow (int)
- Состояние панели: 1 – панель показывается, 0 – панель скрыта.
Примечания
Эта команда не всегда управляет непосредственной видимостью панели. Если окно подсистемы с блоком-владельцем панели открыто, этой командой можно показывать и скрывать панель и узнавать, видима ли она для пользователя в данный момент. Однако, если окно подсистемы закрыто, эта команда переключает и возвращает желаемое состояние панели, то есть состояние, в которое панель перейдет при открытии окна. Если, например, включить видимость панели в закрытом окне, а потом открыть окно, панель автоматически покажется внутри окна, при этом даже при закрытом окне, когда пользователь не видит панели, команда RDS_PAN_VISIBLE будет возвращать для данной панели единицу.
Если вызывающей программе нужно узнать, открыта ли в действительности данная панель, следует вызвать функцию rdsPANGetDescr для заполнения структуры описания панели RDS_PANDESCRIPTION и сравнить дескриптор окна панели (поле Handle) с NULL: если дескриптор не нулевой, значит, для панели создан оконный объект, то есть панель физически существует в открытом окне подсистемы.
Пример
Пример использования команды RDS_PAN_VISIBLE приведен в §2.10.4 руководства программиста.
См. также
rdsPANCreate, rdsSetObjectInt, rdsGetObjectInt, rdsPANGetDescr.