Четвертый BORLAND С++ и его окружение


         

Окна схемы


Окна схемы (разметки) инкапсулируют класс TLayoutWindow, инкапсулирующий производный от TWindow класс TLayoutWindow. Как и

TFrameWindow, TLayoutWindow создает основу для декорированных

окон-рамок и возможности упорядочения элементов в области рамки.

Окна схемы (или разметочные окна) называются так потому, что

могут упорядочивать дочерние окна в своей клиентной области. Расположение дочерних окон определяется относительно окна схемы или

другого дочернего окна ("братского" окна - окна равного уровня).

Расположение дочернего окна зависит от параметров схемы, которые

включат в себя ряд правил, описывающих координаты X и Y окон, их

высоту и ширину. Эти правила обычно основываются на координатах

братского окна и, в итоге, на размере и организации окна схемы.

Параметры схемы для дочерних окон содержатся в классе TLayoutMetrics. Объекты параметров схемы состоят из ряда ограничений

схемы. Каждое ограничение описывает правило определения конкретного изменения окна, например X-координаты или ширины окна. Эти

ограничения хранятся в структуре TLayoutConstraints, но обычно

используются производные от нее классы, такие как TEdgeConstraint.

Ограничения схемы определяют соотношение между краем или

размером одного окна и краем или размером братского или родительского окна схемы. Это соотношение может быть достаточно гибким.

Например, можно задать ширину окна как процент от ширины родительского окна. Ограничения задаются обычно с помощью функции

Set, которая определяется в классе TEdgeConstraint и в результате

наследуется из TEdgeOrWidthConstraint и TEdgeOrHeightConstraint.

Параметр edge функции Set определяет, какую часть окна вы

ограничиваете. Для этого используется enum TEdge с 5 возможными

значениями:

  • lmLeft определяет левый край окна.
  • lmTop определяет верхний край окна.
  • lmRight определяет правый край окна.
  • lmBottom определяет нижний край окна.
  • lmCenter определяет центрирование окна (горизонтальное или

    вертикальное).

  • С помощью enum TWidthHeight можно задать ограничение высоты



    Содержание  Назад  Вперед