RSS    

   Реферат: Turbo Vision

рисовать объект  на  экране).В ряде случаев непосредственное изменение

параметров просто недопустимо.Практически для всех параметров объектов

в Turbo Vision указано, допустимо ли его непосредственно изменять (за-

писывать).К сожалению,  принцип объектного программирования, требующий

изменения параметров только с помощью того или иного метода,  в полной

мере в Turbo Vision не реализован,  и приходится в простейших  случаях

параметры изменять непосредственно либо писать свои дополнительные ме-

тоды.

     Любой отображаемый объект может быть размещен на кране в  прямоу-

гольной области, которая задается координатами левого верхнего и пра-

вого нижнего углов.В Turbo Vision координаты задают линии раздела меж-

ду знакоместами, и при этом нумерация по горизонтали и вертикали начи-

нается с нуля (координаты 0,0 - левый верхний угол  экрана).Координаты

могут быть  абсолютными,  отсчитываемыми  относительно левого верхнего

угла крана,  и относительными,  отсчитываемыми от левого верхнего угла

соответствующего окна (так называемого владельца данного отображаемого

объекта).

     Для задания  координат  точки  на кране и координат прямоугольной

области используются два объекта - tPoint,  содержащий две  координаты

точки - X и Y :

     type tPoint = object

          X, Y : Integer;

      end;

и tRect, определяющий левый верхний и правый нижний углы прямоугольной

области.Объект tRect не только содержит соответствующие координаты, но

также обладает методами, позволяющими задавать, изменять, получать эти

координаты и выполнять над ними ряд других операций.

                             Объект tView

     Предком отображаемых  объектов  является объект tView.Несмотря на

то, что этот объект абстрактный,  т.е. нельзя создать конкретный обра-

зец этого типа,  он имеет важное значение,  т.к. задает общие свойства

всех отображаемых элементов и определяет виртуальные  методы,  которые

затем переопределяются для конкретных отображаемых объектов.

     У объекта tView задаются следующие параметры :

     Расположение и размеры объекта.Расположение объекта tView задает-

ся координатами его левого верхнего угла в поле его владельца -  пара-

метр Origin,  а размеры - параметром Size, задающим его ширину и высо-

ту.Непосредственно изменять эти параметры в программе  не  следует.Для

их задания  нужно  использовать  методы  Locate (одновременное задание

всех координат объекта) :

     procedure tView.Locate(var Bounds: tRect);

где Bounds - область, выделяемая под объект в координатах его владель-

ца;

MoveTo (перемещение объекта в поле его владельца без изменения  разме-

ров):

     procedure tView.MoveTo(X, Y: Integer);

где X, Y - координаты левого верхнего угла объекта в поле его владель-

ца,

и GrowTo (изменение размеров объекта):

     procedure tView.GrowTo(X, Y: Integer);

где X, Y - горизонтальный и вертикальный размеры объекта.

     При изменении  размеров  объекта с помощью метода GrowTo остается

на месте левый верхний угол объекта.

     Координаты курсора.Ряд отображаемых объектов,  таких,  как строка

ввода текстовой информации, редакторы и т.д., могут иметь видимый кур-

сор.Координаты этого курсора задаются параметром Cursor.Для  объектов,

не имеющих видимого курсора,  значение этого параметра безразлично.За-

дать координаты курсора можно с помощью метода SetCursor :

     procedure tView.SetCursor(X, Y: Integer);

где X, Y - координаты курсора в поле объекта.

     Курсор отображаемого  элемента  можно сделать видимым и невидимым

(параметр sfCursorVis флагов состояния),  а также изменять его размеры

(параметр sfCursorIns).

     Флаги свойств.Параметр Options размером в одно 16-разрядное слово

задает ряд свойств отображаемого объекта.Назначение битов этого  слова

следующее (в круглых скобках приведены константы, соответствующие еди-

нице в указанном бите) :

0-й бит (ofSelectable) - возможность активизации  (выделения)  данного

                         объекта в  его владельце либо с помощью мыши,

                         либо с помощью клавиши табуляции.Это свойство

                         используется у любого объекта,  и обычно флаг

                         задается равным единице.

1-ый бит (ofTopSelect) - возможность размещения объекта при его  акти-

                         визации (выделении) сверху всех остальных

                         объектов конкретной группы.Это  свойство  ис-

                         пользуется у окон (тип tWindow) и их потомков

                         - диалоговых  окон,  стандартных   диалоговых

                         окон и т.д.

2-ой бит  (ofFirstClick) - возможность использования первого нажатия

                           клавиши не только для выделения объекта (бит

                           0), но  и для выполнения действий,  которые

                           активизируются данным объектом.Свойство ис-

                           пользуется практически  у всех отображаемых

                           объектов.

3-ий бит (ofFramed) - наличие рамки вокруг  отображаемого  объекта.Это

                      свойство используется  для  подэлементов окон.Не

                      следует   этот флаг путать с наличием рамки окна

                      (tWindow) и его потомков.

4-ый бит (ofPreProcess) - опережающая реакция на событие.Задание флага

                          приводит к изменению стандартной  последова-

                          тельности   реакции   отображаемых элементов

                          группы на событие.Свойство  может  использо-

                          ваться у любого элемента по мере необходимос-

                          ти.

5-ый бит (ofPostProcess) - запаздывающая реакция на событие.Аналогично

                           предыдущему флагу, но с другими последстви-

                           ями его использования.

6-ой бит (ofBuffered) - наличие КЭШ-буфера  у  отображаемого  объекта,

                        когда образ отображаемого объекта не создается

                        каждый раз заново при его прорисовке на экране,

                        а хранится в специальном КЭШ-буфере.Флаг важен

                        для сложных составных объектов типа окна и его

                        потомков.

7-ой бит  (ofTileable)  - расположение отображаемых объектов встык или

                          каскадно (с наложением).Этот флаг  использу-

                          ется только у окон и их потомков.

8-ой бит  (ofCenterX) - центрирование объекта по горизонтали.При зада-

                        нии этого флага объект при его  первоначальной

                        прорисовке центрируется   относительно  верти-

                        кальной оси его владельца.Флаг может использо-

                        ваться у элементов,  входящих в группу элемен-

                        тов.

9-ый бит  (ofCenterY) - центрирование объекта по  вертикали.Аналогично

                        предыдущему флагу,  но только объект центриру-

                        ется относительно горизонтальной оси его  вла-

                        дельца.

10-ый бит (ofValidate)  - задается   проверка правильности введенной в

                          объект информации при выходе из этого объек-

                          та (активизации  другого  объекта).Флаг  ис-

                          пользуется только со строками ввода.

11-ый бит (ofVersion20) - используется Turbo Vision 2.0.Ряд   объектов

                          (как, например,  строка ввода) имеют принци-

                          пиальные отличия в зависимости   от   версии

                          Turbo Vision.Версия 2.0 имеет дополнительные

                          возможности по сравнению с версией 1.0.

12-ый бит (ofVersion10) - используется Turbo Vision 1.0.

     Остальные биты слова флагов свойств не  используются.Для  задания

флагов свойств  можно использовать константу ofCentred=$0300 (одновре-

менное центрирование по горизонтали и вертикали),  с  помощью  которой

можно одновременно  установить  8  и  9 биты параметра Options.Имеется

константа ofVersion=$3000, позволяющая выделить биты, связанные с вер-

сией Turbo Vision.

     Флаги перемещения.Параметр  DragMode  размером в один байт задает

характеристики отображаемого объекта при его перемещении :

0-й бит (dmDragMove) - разрешение перемещения объекта либо  с  помощью

        мыши, либо с помощью клавиш направления. Используется   у  тех

        объектов, которые по тем или иным причинам могут  перемещаться

        в поле своего владельца, например у окон и их потомков.

1-й бит  (dmDragGrow)  -  разрешение изменения размеров объекта либо с

         помощью мыши,  либо с помощью клавиш направления.Используется

         у окон и их потомков.

4-й бит  (dmLimitLoX) - запрещение левой стороне отображаемого объекта

         выходить за заданные границы.В качестве  таких  границ  часто

         выступают размеры владельца данного объекта (например, разме-

         ры рабочего поля, в котором размещены окна).

5-й бит (dmLimitLoY) - аналогично 4 биту, но запрещение верхней сторо-

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.