на тему рефераты
 
Главная | Карта сайта
на тему рефераты
РАЗДЕЛЫ

на тему рефераты
ПАРТНЕРЫ

на тему рефераты
АЛФАВИТ
... А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

на тему рефераты
ПОИСК
Введите фамилию автора:


Реферат: Turbo Vision


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

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

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

         методом SetState :

     procedure tView.SetState(AState: Word; Enable: Boolean);virtual;

         где AState - флаг, который следует изменитьЖ

         Enable=True, если флаг  следует  установить,  и  False,  если

         сбросить.

         С помощью этого метода можно изменить любые флаги  состояния,

         но при  каждом  обращении  к  нему можно изменить только один

         флаг.

4-й бит (sfActiv) - объект является либо активным окном ( окном, с ко-

        торым происходит  в  настоящее время работа в программе),  или

        подэлементом активного окна.Как правило,  этот флаг  автомати-

        чески меняет свое значение в процессе работы программы и изме-

        нять его в программе практически не требуется.

5-й бит (sfSelected) - объект является выделенным  в  группе.В  каждой

        группе может быть только один выделенный объект.Как и предыду-

        щий флаг,  состояние этого флага  изменяется  автоматически  в

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

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

        можно с помощью метода SetState).

6-й бит  (sfFocused)  - объект является сфокусированным,  т.е.является

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

         ленными.Сфокусированный объект  - то тот отображаемый объект,

         с которым в  настоящее  время  происходит  работа  (например,

         конкретный редактор текста,  если на экране открыто несколько

         редакторов).

7-й бит (sfDragging) - объект находится в режиме перемещения или изме-

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

        помощью мыши.Обычно этот флаг используется у окон и устанавли-

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

        при выходе из этого режима.Принудительное изменение флага воз-

        можно с помощью метода SetState.

8-й бит (sfDisabled) - объект является "запрещенным", т.е. не реагиру-

        ющим ни на какие воздействия.Задать этот флаг  можно  также  с

        помощью метода SetState.

9-й бит (sfModal) - объект является модальным.Этот флаг характерен для

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

        (использование метода ExecView или ExecuteDialog).Принудительно

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

10-й бит (sfExposed) - объект имеет в качестве окончательного владель-

         ца объект  tApplication,  т.е.  имеет возможность отражаться

         на экране (не путать с флагом ofVisible).Принудительно  изме-

нять флаг не следует.

     Остальные биты параметра State не используются.

     Контекстная помощь.Этот  параметр  (HelpCtx)  представляет  собой

число типа Word,  который задает значение параметра контекстной помощи

в случае, если отображаемый объект является сфокусированным.Этот пара-

метр используется в справочной системе и в системе строк состояния.Ес-

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

нулю (константа  hcNoContex).Это  же значение принимает параметр и при

создании объекта.

     Следующий отображаемый элемент.Этот параметр (Next) содержит ука-

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

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

группу.Принудительно менять значение этого параметра не следует.

     Владелец объекта.Параметр (Owner) представляет собой указатель на

владельца объекта - группу,  в которой расположен данный  объект.Пара-

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

обычно с помощью метода Insert  объекта  tGroup  или  другого  метода,

включающего в себя метод Insert,  и изменять его принудительно не сле-

дует.

     Объект tView обладает 67 методами плюс 1 метод, унаследованный от

объекта tObject.Многие из этих методов являются виртуальными и переоп-

ределяются для потомков.Все методы можно условно разбить на  несколько

групп.

     К первой группе можно отнести методы, с помощью которых создается

или уничтожается объект.Здесь следует отметить два конструктора-Init,

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

которого объект загружается из потока, а также деструктор Done, выпол-

няющий действия, обратные действиям конструктора Init.

     Ко второй,  самой многочисленной группе,  можно отнести методы, с

помощью которых  либо  задаются,  либо  определяются текущие параметры

объекта (задание и получение указанных выше параметров).

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

ект в группу,  отобразить его на экране,  удалить из группы, удалить с

экрана.

     К четвертой группе относятся методы обработки  событий,  наиболее

часто используемым из которых является метод HandlEvent,  обрабатываю-

щий текущее событие.

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

разнообразные дополнительные  действия  (например,  получение  палитры

цветов для объекта, разрешение и запрещение выполнения команд и т.д.)

                      Группа (tGroup).Z-порядок

     В общем случае отображаемый объект может иметь достаточно сложную

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

подэлементов.Эти подэлементы,  в  свою очередь,  могут включать в себя

другие подэлементы и т.д.

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

бой группу (тип tGroup) и  может  рассматриваться  как  нечто  единое,

предназначенное для  использования  в  программе.Так  же  как и объект

tView, объект tGroup является абстрактным объектом и  не  может  иметь

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

ряда реальных объектов (в первую очередь различных окон) и  определяет

основные свойства  таких объектов как некоего целого.Сам объект tGroup

является потомком объекта tView и наследует или переопределяет его па-

раметры и методы.

     Любой объект типа  tGroup  представляет  собой  основной  элемент

группы (например,  диалоговое  окно),  называемый владельцем элементов

группы, в который включено то или иное количество подэлементов (напри-

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

дуемые группой от объекта tView,  относятся к основному объекту группы

- владельцу группы;  отдельные подэлементы, также являющиеся потомками

объекта tView, обладают своими характеристиками, часто не совпадающими

с характеристиками их владельца.

     В дополнение к параметрам tView объект tGroup имеет ряд  собствен-

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

ляются два.Первый параметр Last,  указывающий на последний  подэлемент

группы (фактически  он  является первым включенным в группу подэлемен-

тов).Вторым является параметр Current, указывающий на текущий выделен-

ный подэлемент.Если группа не имеет ни одного подэлемента, эти два па-

раметра равны nil.

     Основной элемент группы инициализируется конструктором Init :

     constructor tGroup.Init(var Bounds: tRect);

где Bounds - размеры объекта.

     Если после инициализации группа помещается в другую группу, уста-

навливаются соответствующие значения параметров Next и Owner.

     Любой подэлемент группы должен быть включен в эту  группу  с  по-

мощью метода Insert :

     procedure tGroup.Insert(P: pView);

где P - размещаемый объект, или другого метода, включающего в себя ме-

тод Insert и может быть из нее исключен с помощью метода Delete :

     procedure tGroup.Delete(P: pView);

где P - исключаемый объект, или какого-либо другого метода, включающе-

го в себя метод Delete.

     Последовательность включения  подэлементов  в группу очень важна,

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

расположение подэлементов  с  левой верхней части основного элемента и

далее идти вправо и вниз.

     Включенные в  группу  подэлементы образуют так называемый Z-поря-

док, и среди них можно выделить первый, последний и промежуточные эле-

менты.

                 ┌───────────────────────────────────┐

                 │ Основной элемент (владелец)       │

                 └────────────────┬──────────────────┘

                                  │

                 ┌────────────────┴──────────────────┐

                 │ Последний элемент (Last)          │───────────────┐

                 └────────────────┬──────────────────┘               │

                                  │          <─────  Insert          │

                 ┌────────────────┴──────────────────┐               │

                 │ Предпоследний элемент             │               │

                 └────────────────┬──────────────────┘               │

                                  │                                  │

                                      ...                            │

                                                                     │

                                  │                                  │

                 ┌────────────────┴──────────────────┐               │

                 │  Второй элемент                   │               │

                 └────────────────┬──────────────────┘               │

                                  │           <─────  InsertBefore   │

                 ┌────────────────┴──────────────────┐               │

                 │  Первый элемент                   │               │

                 └────────────────┬──────────────────┘               │

                                  │                                  │

                                  │                                  │

                                  └──────────────────────────────────┘

             Рис. 1. Структура группы

     У каждого  отображаемого  объекта есть поле Next,  указывающее на

следующий подэлемент группы.Поле Next последнего подэлемента указывает

на предыдущий подэлемент,  поле Next предыдущего подэлемента указывает

на его предыдущий подэлемент и т.д.У первого подэлемента это поле ука-

зывает на  последний подэлемент группы.Таким образом,  все подэлементы

группы образуют циклическую структуру.У каждого подэлемента группы по-

ле Owner (владелец) указывает на основной элемент группы.

     Поля, указывающего на предыдущий подэлемент в группе у отображае-

мого объекта  нет,  однако  у него есть метод Prev,  который формирует

указатель на такой предыдущий подэлемент.Этот метод даст указатель  на

первый подэлемент,  если определяется предыдущий подэлемент последнего

подэлемента.

      Оформление программы, использующей средства Turbo Vision.

                   Объекты tProgram И tApplication

     В Turbo Vision имеются два объекта - tProgram и tApplication,  на

основе которых можно создать интерактивную программу.

     Объект tProgram является основой создаваемой программы и включает

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

программе.В первую очередь это обработка поступающих  событий.tProgram

представляет собой отображаемый объект,  занимающий все поле экрана.Он

является непосредственным потомком объекта tGroup и наследует все  его

свойства.В частности, это  позволяет  в  поле  экрана разместить любые

отображаемые объекты.В свою очередь,  этот объект имеет свои характер-

ные свойства, которые позволяют создать программу как нечто целое.

     Инициализируется объект tProgram конструктором Init :

     constructor tProgram.Init;

     После инициализации     устанавливаются     значения     парамет-

ров.ScreenWidth и ScreenHeight - параметры модуля Drivers,  содержащие

размеры экрана в текстовом режиме.Параметр DeskTop (модуль App) - ука-

затель на  рабочую  область  программы.Указатель  на  созданный объект

tProgram помещается в переменную Application (модуль App).

     Важным методом объекта tProgram является метод Run :

     procedure tProgram.Run; virtual;

представляющий собой цикл обработки событий и выполняющий, таким обра-

зом, основные действия, связанные с работой программы.

     Объект tProgram позволяет разместить в поле экрана любые  отобра-

жаемые объекты.Их  можно  помещать в поле экрана произвольным образом,

однако принята следующая система их расположения :  в  верхней  строке

экрана размещается строка меню (тип tMenuBar или его потомок),  в ниж-

ней части экрана размещается строка состояния (тип tStatusLine или его

потомок), остальная  часть  экрана  отдается  под рабочую область (тип

DeskTop или его  потомок).Эти  три  объекта  (tMenuBar, tStatusLine  и

tDeskTop) также   являются   отображаемыми  объектами,  причем  объект

tDeskTop является к тому же потомком объекта tGoup.

     Объекты этих типов размещаются на экране автоматически при иници-

ализации программы методом Init.Для размещения меню,  строки состояния

и рабочей  области  вызываются  методы  InitMenuBar,   InitDeskTop   и

InitStatusLine.Методы InitMenuBar  и  InitStatusLine переопределяются,

метод же InitDeskTop обычно не меняется (его  следует  переопределить,

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

твующим образом изменить его размеры).

     Рабочая область инициализируется конструктором Init :

     constructor tDeskTop.Init((var Bounds: tRect);

где Bounds - размеры рабочей области.

     Объект tApplication  является  непосредственным  потомком объекта

tProgram и наследует все его свойства.Кроме этого, он предназначен для

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

видеосистему, систему обработки событий и  т.д.,  которые  могут  быть

инициализированы с помощью конструктора Init этого объекта :

     constructor tApplication.Init;

а ликвидированы с помощью деструктора Done :

     destructor tApplication.Done; virtual;

     При инициализации  этого  объекта  его  параметры принимают те же

значения, что и у его предка tProgram.

     Сформированная на  основе  объекта  tApplication программа обычно

выполняет последовательно три операции :  инициализацию программы, об-

работку событий и завершение работы программы.

     Инициализация программы, если не требуется каких-либо специальных

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

труктору Init объекта tApplication (или его потомка),  который инициа-

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

екта tProgram,  который, в свою очередь, выполняет действия, связанные

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

ее параметров и размещая на экране меню,  строку состояния  и  рабочую

область.

     Обработка событий осуществляется  методом  Run  объекта  tProgram

(этот метод доступен и объекту tApplication или его потомку).

     Завершение работы программы выполняет деструктор Done.

     Обычно тело  любой  программы  и состоит из обращения к этим трем

методам.

              СТРУКТУРА ОТОБРАЖАЕМЫХ ОБЪЕКТОВ ПРОГРАММЫ

     Все отображаемые объекты образуют древовидную  структуру,  корнем

которой является сама программа - потомок объекта tApplication (напри-

мер, рис. 2).

                        ┌──────────────────────┐

                        │──────────────────────│

                        │   Программа          │

                        └───────────┬──────────┘

                                    │

           ┌────────────────────────┴───────────────────────┐

           │                        │                       │

   ┌─────────────────┐  ┌───────────┴──────────┐  ┌─────────────────┐

   │   Меню          │  │──────────────────────│  │Строка состояния │

   └─────────────────┘  │ Рабочая   область    │  └─────────────────┘

                        └───────────┬──────────┘

                                    │

                       ┌────────────└────────────┐

                       │                         │

              ┌────────┴────────┐    ┌───────────┴─────────┐

              │    Окно         │    │─────────────────────│

              └────────┬────────┘    │ Диалоговое  окно    │

                       │             └─────────┬───────────┘

           ┌───────────┘───┐                   │

           │               │             ┌─────┴─────────┐

           │               │             │     │         │

     ┌─────┴────┐  ┌───────┴──┐    ┌─────┴────┐│┌────────┴──────────┐

     │  Рамка   │  │  Кнопка  │    │  Рамка   │││───────────────────│

     └──────────┘  └──────────┘    └──────────┘││  Строка  ввода    │

                                               │└───────────────────┘

Страницы: 1, 2, 3, 4, 5


на тему рефераты
НОВОСТИ на тему рефераты
на тему рефераты
ВХОД на тему рефераты
Логин:
Пароль:
регистрация
забыли пароль?

на тему рефераты    
на тему рефераты
ТЕГИ на тему рефераты

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


Copyright © 2012 г.
При использовании материалов - ссылка на сайт обязательна.