Смекни!
smekni.com

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

У объекта 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 биту, но запрещение верхней сторо-

не отображаемого объекта выходить за заданные границы.

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

отображаемого объекта выходить за заданные границы.

7-й бит (dmLimitHiY) - аналогично 4 биту, но запрещение нижней стороне

отображаемого объекта выходить за заданные границы.

Остальные биты параметра DragMode не используются.Для одновремен-

ного задания ограничений на перемещение во всех направлениях можно ис-

пользовать константу dmLimitAll=$FO, устанавливающую в единицу биты с

4 по 7.

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

задает свойства отображаемого объекта при попытке изменения размеров

его владельца с помощью мыши или клавиш направления.

0-й бит (gfGrowLoX) - левая сторона отображаемого объекта остается на

одном и том же расстоянии от правой стороны его владельца при

изменении размеров владельца.

1-й бит (gfGrowLoY) - верхняя сторона отображаемого объекта остается

на одном и том же расстоянии от правой стороны его владельца

при изменении размеров владельца.

2-й бит (gfGrowHiX) - правая сторона отображаемого объекта остается на

одном и том же расстоянии от правой стороны его владельца при

изменении размеров владельца.

3-й бит (gfGrowHiY) - нижняя сторона отображаемого объекта остается на

одном и том же расстоянии от нижней стороны его владельца при

изменении размеров владельца.

4-й бит (gfGrowRel) - отображаемый объект изменяет свои размеры про-

порционально размерам владельца.Такой режим может потребовать-

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

25 строк на 43/50 строк и наоборот.

Остальные биты параметра GrowMode не используются Для одновремен-

ной фиксации сторон отображаемого объекта относительно размеров его

владельца можно использовать константу gfGrowAll=$OF, устанавливающую

в единицу биты с 0 по 3.

Флаги обработки событий.Параметр EventMask размером в одно слово

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

ект.

Флаги состояния.Параметр State размером в одно слово определяет

текущее состояние данного отображаемого объекта.Как правило, изменение

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

раммы (например, выделенное состояние объекта), и не следует без осо-

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

вести те или иные изменения, их необходимо производить с помощью соот-

ветствующих методов, специально для этого предназначенных.

Отдельные биты параметра имеют следующее значение :

0-й бит (sfVisibl) - объект может быть видим в поле своего владель-

ца.Если этот флаг установлен (такое состояние задается авто-

матически при создании объекта), объект будет видим полностью

или частично, если только он не закрывается другими отобража-

емыми объектами, а его владелец сам виден на кране.Для зада-

ния этого флага используется метод Show :

procedure tView.Show;

Для сброса - метод Hide :

procedure tView.Hide;

Чтобы определить, виден ли на самом деле объект, можно вос-

пользоваться методом Exposed :

function tView.Exposed: Boolean;

где результат - True, если какая-либо часть объекта видна на

экране.

1-й бит (sfCursorVis) - курсор объекта видим в поле объекта.У некото-

рых отображаемых объектов курсор задается видимым (например, у

строки ввода), у других - невидимым (например, у статическо-

го текста).Чтобы изменить заданное состояние и сделать курсор

видимым, следует воспользоваться методом ShowCursor :

procedure tView.ShowCursor;

чтобы сделать его невидимым, используется метод HideCursor :

procedure tView.HideCursor;

2-й бит (sfCursorIns) - увеличенный размер курсора.Для задания курсора

увеличенного размера воспользуемся методом BlockCursor :

procedure tView.BlockCursor;

для задания нормального размера курсора (такой размер задается

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

NormalCursor :

procedure tView.NormalCursor;

3-й бит (sfShadow) - объект имеет тень.При создании одних объектов

(например, окон) задается тень, у других объектов (например,