RSS    

   Реферат: Turbo Vision

     AFlags - задаваемые флаги кнопки.

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

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

кнопки не следует брать меньше двух,  а ширина зависит от размещаемого

текста.

     Выбрать кнопку можно с помощью мыши,  подведя курсор и нажимая на

клавишу, либо с помощью клавиши Tab,  а затем клавиши Enter.При выборе

кнопки она формирует событие-команду с кодом команды,  который был за-

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

   Статический (tStaticText) и параметрический (tParamText) тексты

     Статический текст  предназначен  для размещения в диалоговом окне

различной поясняющей информации.

     Инициализация осуществляется при помощи метода Init :

     constructor tStaticText.Init(var Bounds: tRect;

                                             const AText: String);

     где  Bounds - поле, выделяемое под статический текст;

          AText - размещаемый текст.

     Поле, выделяемое  под статический текст,  должно быть достаточных

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

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

внутри слов.

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

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

даваемых параметров.Для того, чтобы указать, в каком месте текста сле-

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

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

     Инициализируется параметрический текст методом Init:

     constructor tParamText.Init(var Bounds: tRect;

                       const AText: string; AParamCount: Integer);

где  Bounds - поле, выделенное под параметрический текст;

     AText - исходный текст со спецификациями параметров;

     AParamCount - число параметров текста.

                             Списки строк

     Списки строк в диалоговом окне напоминают поле скроллинга  и  его

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

списков.

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

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

ретным списком информации (вертикальный и горизонтальный скроллинг).

     Непосредственным потомком списка строк является список  коллекции

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

коллекции строк (только вертикальный скроллинг).

     Инициализируется список  коллекции  строк  с помощью конструктора

Init :

     constructor tListBox.Init(var Bounds: tRect;

                          ANumCols: Word; AScrollBar: pScrollBar);

     где  Bounds - поле, выделенное под список;

          ANumCols - число колонок, в которые выводятся строки;

          AScrollBar - указатель на линейку вертикального скроллинга.

                           Стандартные окна

     В Turbo Vision имеется большое количество стандартных окон, имею-

щих специальное  назначение.Рассмотрим  стандартные информационные ок-

на.Заголовок функции MessageBox имеет вид :

     function MessageBox(const Msg: string; Params:

                                  Pointer; AOptions: Word): Word;

где Msg - размещаемое в окне сообщение;

    Params - указатель на параметры сообщения;

    AOptions - флаги;

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

окна.

     Функция формирует окно размером 40*60, в котором помещается сооб-

щение Msg,  скорректированное параметрами, находящимися по адресу, оп-

ределяемому значением Params и набор кнопок,  определяемый  параметром

AOptions, который определяет также тип окна (его название).

                       СОЗДАНИЕ СТРОК СОСТОЯНИЯ

     Строка состояния не является необходимым атрибутом.Однако ее  ис-

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

он может получить информацию о текущем состоянии программы  и клавишах

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

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

раммы с тем, чтобы потом одновременно рассматривать команды, формируе-

мые меню и строкой состояния.

      Строка состояния, отображающая клавиши быстрого управления

     Каждый элемент строки состояния ,  содержащий информацию о  конк-

ретной клавише (их совокупности) быстрого управления,  имеет стандарт-

ный тип-запись tStatusItem :

     tStatusItem = record

        Next: pStatusItem;

        Text: pString;

        KeyCode: Word;

        Command: Word

     end;

где Next - указатель на следующий элемент строки состояния;

    Text - указатель на строку,  содержащую выводимый на  экран  текст

для данной клавиши быстрого управления;

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

выбрать данный элемент строки состояния;

    Command - код команды, которую следует выполнить при выборе данно-

го элемента строки состояния.

     Создать элемент  строки  состояния  можно  с  помощью стандартной

функции NewStatusKey :

     function NewStatusKey(const AText: string;

                            AKeyCode: Word; ACommand: Word; ANext:

                                        pStatusItem); pStatusItem;

где AText - выводимый на экран текст;

    AKeyCode - код клавиши быстрого управления;

    ACommand - код команды,  которую следует выполнить при выборе дан-

ного элемента;

    ANext - указатель на следующий элемент строки состояния;

    результат - указатель на созданный элемент строки состояния.

     Сама строка состояния имеет стандартный тип-запись tStatusDef :

     tStatusDef = recerd

        Next: pStatusDef;

        Min, Max: Word;

        Items: pStatusItem;

     end;

где Next - указатель на следующую строку состояния;

    Min, Max - миним.  и максим.  границы диапазона параметра контекс-

тной помощи, для которого отображается именно эта строка состояния;

    Items - указатель на первый элемент списка элементов.

     Элементы строки  состояния также как и строки состояния представ-

ляют собой линейный список.

     Для создания строки состояния можно  воспользоваться  стандартной

функцией NewStatusDef :

     function NewStatusDef(AMin, AMax: Word;

              AItems: pStatusItem; ANext: pStatusDef): pStatusDef;

где ANext - указатель на следующую строку состояния;

    AMin, AMax - миним. и максим. границы диапазона параметра контекс-

тной помощи, для которого отображается именно эта строка состояния;

    AItems - указатель на первый элемент списка элементов.

     В строке состояния также можно отразить  информацию  о  состоянии

программы в конкретный момент времени (процесс, протекающий в програм-

ме и т.д.)Информация такого вида зависит от  значения  параметра  кон-

текстной помощи активизированного в настоящий момент элемента програм-

мы.Вывести такую  информацию  можно  с  помощью  метода  Hint  объекта

tStatusLine :

     function tStatusLine(AHelpCtx : Word): string; virtual;

где AHelpCtx - значение параметра контекстной помощи;

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

                    ЦВЕТОВАЯ ПАЛИТРА TURBO VISION

     Turbo Vision позволяет манипулировать цветом изображения объектов

на экране.При этом можно использовать стандартный набор цветов, задан-

ный в пакете, который охватывает расцвечивание всех стандартных объек-

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

мы, или создавать свою палитру.

                         Стандартная палитра

     Все стандартные  отображаемые объекты имеют свою цветовую палитру

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

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

программы и то,  что все отображаемые объекты программы за исключением

основного объекта  tApplication,  являются  подэлементами какой - либо

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

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

палитры данной группы.

     Если в  программе  достаточно использовать цвета основной палитры

по их прямому назначению,  то никаких действий по раскрашиванию предп-

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

соответствующего объекта с помощью метода Draw :

     procedure <отображаемый объект>.Draw; virtual;

который, в свою очередь, использует методы GetPallete :

     function <отображаемый объект>.GetPallete:

                                                pPallete; virtual;

определяющий указатель на конкретную палитру объекта, и GetColor :

     function tView.GetColor(Color: Word): Word;

где Color - номер входа в палитру;

    результат - атрибуты соответствующего цвета.

                    Изменение стандартной палитры

     Если требуется изменить уже существующий цвет у всех использующих

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

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


Новости


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

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

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.