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

Приложения

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

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

А.4.7. RDS_EDITORPARAMETERS – параметры окна подсистемы

Структура RDS_EDITORPARAMETERS используется для получения параметров окна подсистемы – размеров, положения, числа слоев и т.п. – при помощи сервисной функции rdsGetEditorParameters.

  typedef struct {
     servSize;                // Размер этой структуры
     GridDx,GridDy;        // Шаг сетки
     SnapToGrid;               // Включена привязка к сетке
     DisplayGrid;              // Изображается сетка
     GridColor;            // Цвет точек сетки
     Visible;                  // Окно редактора открыто
     WinLeft,WinTop,       // Размеры и положение окна
     WinWidth,WinHeight;   // 
     WorkWidth,WorkHeight; // Размеры рабочей области
     ScrollX,ScrollY;      // Позиция полос прокрутки
    double Zoom;                   // Масштаб
     MainPointColor;       // Цвет точек привязки блоков
     ShowBlockNames;           // Показывать имена блоков
     ShowVarNames;             // Показывать имена переменных
     NumLayers;            // Число слоев
     CurLayerNum;          // Номер текущего слоя
     CurLayerId;           // Идентификатор текущего слоя
     NumConfigs;           // Чило конфигураций слоев
     CurConfig;            // Номер текущей конфигурации
     PrintZoneActive;          // Зона печати включена
     DisplayPrintZone;         // Зона печати отображается
     PZLeft,PZTop,         // Размеры и положение зоны печати
     PZWidth,PZHeight;     // 
     WinMaximized;             // Окно развернуто на весь экран
     WinMinimized;             // Окно свернуто
     RefreshDelay;            // Задержка автоматического обновления
                                   // окна в режиме расчета
     BlockNameColor;       // Цвет имен блоков
     BlockNameDistance;    // Расстояние от блока до имени
     BackgroundColor;      // Цвет фона окна
     DefBackground;            // В качестве цвета фона
                                   // окна выбран цвет окна Windows
     WindowReactions;         // Битовые флаги реакции окна на
                                   // мышь и клавиатуру
     Wallpaper;                // Включены обои
     WallpaperTile;            // Обоями заполнено все рабочее поле
     WallpaperWidth,       // Размеры обоев
     WallpaperHeight;      // 
     Dashboard;                // В системе только неподвижные
                                   // неперекрывающиеся блоки
  } RDS_EDITORPARAMETERS;
  typedef RDS_EDITORPARAMETERS *RDS_PEDITORPARAMETERS;

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

servSize (DWORD)
Размер этой структуры в байтах. Перед вызовом любой сервисной функции, работающей с этой структурой, полю servSize необходимо присвоить значение sizeof(RDS_EDITORPARAMETERS).
GridDxGridDy (RDSINT32)
Шаг сетки окна по горизонтали (GridDx) и вертикали (GridDy). При включенной привязке к сетке влияет на перемещение блоков мышью при редактировании схемы. Шаг сетки указывается без учета масштаба – это именно шаг изменения координат блоков.
SnapToGrid (BOOL)
TRUE, если включена привязка к сетке, и FALSE, если выключена.
DisplayGrid ()
TRUE, если точки сетки изображаются в окне, и FALSE, если сетка невидима.
GridColor (COLORREF)
Цвет точек сетки.
Visible ()
TRUE, если окно подсистемы открыто, и FALSE, если оно закрыто. Параметры окна подсистемы можно получить и при закрытом окне – они хранятся в RDS и будут применены к окну в момент открытия.
WinLeftWinTopWinWidthWinHeight ()
Горизонтальная (WinLeft) и вертикальная (WinTop) координаты левого верхнего угла окна подсистемы, а также его ширина (WinWidth) и высота (WinHeight) в точках экрана. Положение и размеры окна указываются с учетом его рамки и полосы заголовка, то есть это его внешние размеры. Эти поля можно использовать для привязки каких-либо вспомогательных окон к границам окна подсистемы.
WorkWidthWorkHeight ()
Ширина (WorkWidth) и высота (WorkHeight) рабочего поля подсистемы, то есть пространства, на котором можно размещать блоки и связи. Размер рабочего поля указывается без учета масштаба. Если размеры рабочего поля в текущем масштабе больше размеров внутренней части окна, в окне будут отображаться полосы прокрутки.
ScrollXScrollY ()
Положение полос прокрутки окна в масштабе 100%. Фактически, это координата левой верхней точки рабочего поля, видимой в окне.
Zoom (double)
Текущий масштаб окна в долях единицы: 1 для 100%, 2 для 200%, 0.5 для 50% и т.п.
MainPointColor ()
Цвет, которым изображается точка привязки картинки блока, если ее отображение разрешено в параметрах блока.
ShowBlockNames ()
TRUE, если в окне разрешено отображение имен блоков, и FALSE, если оно запрещено. Если отображение имени запрещено в параметрах самого блока, имя не будет показываться в окне независимо от значения этого поля.
ShowVarNames ()
TRUE, если в окне разрешено отображение имен переменных на концах связей, и FALSE, если оно запрещено. Если отображение имени запрещено в параметрах точки связи, имя не будет показываться в окне независимо от значения этого поля.
NumLayers ()
Общее число слоев в подсистеме.
CurLayerNum ()
Порядковый номер текущего слоя в текущей конфигурации слоев – чем меньше номер, тем ближе слой к переднему плану. В разных конфигурациях слоев одни и те же слои могут иметь разные порядковые номера. Это поле может принимать значения от 0 до NumLayers−1.
CurLayerId ()
Идентификатор текущего слоя. Слой имеет один и тот же идентификатор во всех конфигурациях слоев. Именно эти идентификаторы указываются в сервисных функциях работы со слоями, структуре описания блока RDS_BLOCKDESCRIPTION и структуре описания связи RDS_CONNDESCRIPTION (поле LayerId).
NumConfigs ()
Общее число конфигураций слоев в подсистеме.
CurConfig ()
Порядковый номер текущей конфигурации в списке конфигураций слоев. Это поле может принимать значения от 0 до NumConfigs−1.
PrintZoneActive ()
TRUE, если в подсистеме активна зона печати (прямоугольная область, которой ограничивается выводимая на печать или сохраняемая в виде растрового рисунка часть рабочего поля подсистемы), FALSE в противном случае.
DisplayPrintZone ()
TRUE, если зона печати отображается в окне подсистемы, и FALSE, если ее отображение выключено. Зона печати может не отображаться, но быть при этом активной.
PZLeftPZTopPZWidthPZHeight ()
Горизонтальная (PZLeft) и вертикальная (PZTop) координаты левого верхнего угла зоны печати, ее ширина (PZWidth) и высота (PZHeight). Положение и размеры зоны указываются в координатах рабочего поля, то есть в масштабе 100%.
WinMaximized ()
TRUE, если окно подсистемы развернуто на весь экран, FALSE в противном случае.
WinMinimized ()
TRUE, если окно подсистемы свернуто, FALSE в противном случае.
RefreshDelay ()
Интервал (в миллисекундах) автоматического обновления окна в режиме расчета, или 0, если автоматическое обновление выключено.
BlockNameColor ()
Цвет, которым в окне отображаются имена блоков.
BlockNameDistance ()
Интервал в точках экрана в масштабе 100% между изображением блока и его именем. Это значение используется по умолчанию, пользователь может перетащить имя блока вручную в произвольное место окна. Параметры отображения имени конкретного блока указываются в структуре его описания (поля NamePos, NameDx и NameDy).
BackgroundColor ()
Цвет фона рабочего поля подсистемы.
DefBackground ()
TRUE, если в качестве цвета фона рабочего поля установлен стандартный цвет окна Windows, и FALSE, если цвет задан пользователем вручную. Подсистемы, для которых установлен стандартный цвет рабочего поля, могут выглядеть по-разному на разных машинах.
WindowReactions ()
Битовые флаги, определяющие возможность реакции окна подсистемы на мышь и клавиатуру, если соответствующие события не были перехвачены внутренними блоками подсистемы:
RDS_BDF_MOUSEEVENTS Функция модели подсистемы будет вызывается при нажатии и отпускании кнопок мыши и перемещении курсора с нажатыми кнопками в пределах рабочего поля (события RDS_BFM_WINDOWMOUSEDOWN, RDS_BFM_WINDOWMOUSEUP, RDS_BFM_WINDOWMOUSEDBLCLICK, RDS_BFM_WINDOWMOUSEMOVE).
RDS_BDF_FREEMOUSEMOVE Функция модели подсистемы вызывается при перемещении курсора мыши в пределах рабочего поля (событие RDS_BFM_WINDOWMOUSEMOVE) даже тогда, когда ни одна из кнопок не нажата (только при установленном флаге RDS_BDF_MOUSEEVENTS).
RDS_BDF_KBDEVENTS Функции модели подсистемы разрешена реакция на клавиатуру (события RDS_BFM_WINDOWKEYDOWN и RDS_BFM_WINDOWKEYUP).
Wallpaper ()
TRUE, если на рабочем поле изображаются растровые «обои», и FALSE в противном случае.
WallpaperTile ()
TRUE, если «обоями» заполнено все рабочее поле подсистемы, FALSE, если они изображаются только в его левом верхнем углу.
WallpaperWidthWallpaperHeight ()
Ширина (WallpaperWidth) и высота (WallpaperHeight) растрового изображения «обоев». Следует помнить, что при изменении масштаба подсистемы размер растрового изображения обоев не изменяется.
Dashboard ()
TRUE, если для подсистемы установлен флаг «в подсистеме только неподвижные не перекрывающиеся блоки» (то есть включена оптимизация рисования, см. §2.10.2 руководства программиста), и FALSE, если этот флаг не установлен.

Примеры

Примеры использования структуры RDS_EDITORPARAMETERS приведены в §2.10.4 и §2.12.5 руководства программиста.

См. также

rdsGetEditorParameters.


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