Навигация:
<< >> Оглавление Указатель

Приложения

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

А.4. Структуры RDS

А.4.13. RDS_PANDESCRIPTION – описание панели блока в окне подсистемы

Структура RDS_PANDESCRIPTION используется для получения описания панели, созданной блоком в окне подсистемы. Эта структура заполняется сервисной функцией rdsPANGetDescr, а также создается и автоматически заполняется RDS при вызове реакции блока на действия с панелью (событие RDS_BFM_BLOCKPANEL). Пример использования структуры RDS_PANDESCRIPTION приведен в §2.10.4 руководства программиста.

Эта структура используется только для получения описания панели. Для изменения параметров и внешнего вида панели предусмотрены специальные команды.

  typedef struct {
     servSize;          // Размер этой структуры в байтах
     Object;      // Объект, связанный с этой панелью
     Block;       // Блок-владелец панели
     PLeft,PTop;     // Левый верхний угол панели
     PWidth,PHeight; // Размер панели
     Order;          // Номер панели в данном блоке
     Visible;            // Видимость панели
     Handle;             // Оконный объект или NULL
     Width,Height;   // Размеры оконного объекта
     Border;             // Наличие рамки
     CloseButton;        // Наличие кнопки закрытия панели
     Scalable;           // Панель меняет размер при
                             // изменении масштаба системы
     Sizeable;           // Размер панели может
                             // изменяться пользователем
     Moveable;           // Положение панели может
                             // изменяться пользователем
     CaptionBar;         // Есть полоса заголовка
     CaptionA;        // Текущий заголовок (UTF8)
     CaptionW;       // Текущий заголовок (UTF16)
    // Caption;      // Текущий заголовок ()
  } RDS_PANDESCRIPTION;
  typedef RDS_PANDESCRIPTION *RDS_PPANDESCRIPTION;

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

servSize (DWORD)
Размер этой структуры в байтах. Перед вызовом любой сервисной функции, работающей с этой структурой, полю servSize необходимо присвоить значение sizeof(RDS_PANDESCRIPTION).
Object (RDS_HOBJECT)
Идентификатор вспомогательного объекта RDS, связанного с данной панелью. Этот идентификатор указывается во всех сервисных функциях, которые работают с панелями.
Block (RDS_BHANDLE)
Идентификатор блока, которому принадлежит данная панель.
PLeftPTop (RDSINT32)
Горизонтальная (PLeft) и вертикальная (PTop) координаты левого верхнего угла панели на рабочем поле окна подсистемы. Эти координаты указываются для масштаба 100%.
PWidthPHeight ()
Ширина (PWidth) и высота (PHeight) панели на рабочем поле окна подсистемы в масштабе 100%. Это внешние размеры панели – размеры оконного объекта Windows, находящегося на этой панели, могут быть меньше за счет рамки панели и полосы ее заголовка.
Order ()
Порядковый номер панели в блоке, определяющий ее близость к переднему плану. Панели одного и того же блока с большим значением поля Order будут перекрывать панели с меньшим его значением. Перекрытие панелей разных блоков определяется взаимным расположением самих блоков.
Visible (BOOL)
TRUE, если панель должна быть видима, FALSE, если она должна быть скрыта. Это поле определяет не фактическую видимость панели, а ее желаемое состояние. При закрытом окне подсистемы ни одна панель в ней не показывается на экране, но на значении поля Visible это никак не отражается. Те панели, для которых поле Visible установлено в TRUE, будут автоматически показаны при открытии окна подсистемы.
Handle (HWND)
Дескриптор оконного объекта Windows, находящегося внутри панели. Его можно использовать в вызовах Windows API. Если оконный объект не создан (если панель невидима, или если окно ее подсистемы закрыто), в этом поле будет находиться значение NULL.
WidthHeight ()
Ширина (Width) и высота (Height) оконного объекта Windows, находящегося внутри панели, если он существует.
Border ()
TRUE, если панель имеет рельефную рамку, FALSE в противном случае.
CloseButton ()
TRUE, если панель имеет кнопку закрытия в правом верхнем углу полосы заголовка, FALSE в противном случае. Кнопка закрытия позволяет пользователю убрать панель с экрана, она может выводится только на панелях с рамкой и заголовком.
Scalable ()
TRUE, если панель автоматически изменяет размеры при изменении масштаба подсистемы, и FALSE, если ее размеры остаются постоянными независимо от масштаба.
Sizeable ()
TRUE, если пользователь может изменять размеры панели, перетаскивая ее границы и углы, FALSE в противном случае. Изменение размеров возможно только у панелей с включенной рамкой.
Moveable ()
TRUE, если пользователь может перемещать панель, перетаскивая ее за полосу заголовка, FALSE в противном случае. Панели без заголовков перетаскивать нельзя.
CaptionBar ()
TRUE, если панель имеет полосу заголовка, FALSE в противном случае.
CaptionA (RDSCSTR), CaptionW (RDSWCSTR), Caption (RDSXCSTR)
Указатель на строку (char*) во внутренней памяти RDS, в которой хранится текст, выводимый в заголовке панели (если включена полоса заголовка). Функция модели не должна как-либо изменять эту строку, для изменения текста заголовка используется команда RDS_PAN_CAPTION.

См. также

rdsPANGetDescr, rdsPANCreate, RDS_BFM_BLOCKPANEL, RDS_PAN_CAPTION.


<< >> Оглавление Указатель