Турбо Паскаль 6.0

         

Другой взгляд на Z-упорядочивание.


Термин Z-упорядочивание ссылается к факту, что подэлементы имеют 3-мерные взаимосвязи. Как Вы уже видели, каждый видимый элемент имеет позицию и размер, определяемые полями Origin и Size. Но видимые элементы и подэлементы могут перекрываться и для того, чтобы Turbo Vision знал какой видимый элемент находится перед другими видимыми элементами, мы добавляем третью координату Z. Так же Z-упорядочивание относится к порядку, в котором Вы встречаете видимые элементы, когда Вы ищете ближайший к Вам. Последний вставленный видимый элемент - это ближайший к Вам. Удобно рассматривать видимые элементы как стеклянные панели в трехмерном пространстве, как показано на рис.4.3.

Рис. 4.3. Трехмерный образ видимых элементов.

+----------------------+ | | | +------------------+---+ | | | | | | | +=#=[ю]=+ | | | | # | TWindow ---ц+---+------------------+ | # | | This is some text | # | TScroller ---ц+---+------------------+ ю | | # | TScrollbar ---ц #ю############### | TFrame ---ц+==========================+

Само окно - это просто стеклянная панель, закрывающая группу видимых элементов. Поскольку все, что Вы видите - это проекция видимых элементов на экран, Вы не видите, какие видимые элементы находятся ближе, чем другие, если они не перекрываются. По умолчанию окно имеет рамку, которая вставляется до любого другого подэлемента. Следовательно это фоновый видимый элемент. При создании интерьера скроллинга 2 полосы скроллинга перекрывают рамку. Для Вас при взгляде сверху они смотрятся как часть рамки, но при взгляде со стороны Вы можете увидеть, что они в действительности лежат выше рамки. Наконец, вставляется скроллер, прикрывая всю область внутри рамки. Текст пишется в скроллере, а не в окне, но Вы можете увидеть его, когда смотрите в окно. При большем масштабе Вы можете увидеть панель экрана как большую стеклянную панель, закрывающую более мелкие элементы, как показано на рис. 4.4.

Рис. 4.4. Трехмерный образ панели экрана.

+----------------------+ | | | +------------------+-------+ | | | | | | +-----+ | | | | |#####| | | TDesktop ---ц+---+--+-----+---------+ | | |#####| | TWindow ---ц | +-----+ | | | TBackground ---ц+--------------------------+

И опять, группа (на этот раз панель экрана) - это панель из стекла. Ее первый подэлемент - это объект TBackGround, который находится на самом низу. Так же видно окно на панели экрана.



Содержание раздела