RSS    

   Реферат: Turbo Vision

элемента информации.

     ArStep - величина шага перемещения по информации в случае нажатия

клавиш Left,  Right,  Up,  Down или при нажатии клавиши мыши,  если ее

курсор находится на завершающей стрелке.

     PgStep - размер страницы, на которую происходит перемещение.

     Value -  текущий  элемент информации.Инициализация линейки скрол-

линга осуществляется конструктором Init :

     constructor tScrollBar.Init(var Bounds: tRect;

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

натах его владельца.

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

установлен флаг  ofSelectable  параметра  Options.Поэтому она не может

обычным образом реагировать на нажатие клавиш  клавиатуры.Чтобы  этого

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

тий, установив флаг ofPostProcess параметра Options.

                           Диалоговое окно

     Диалоговое окно (тип tDialog) представляет специальный  тип  окна

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

значений параметров в программу.

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

один из трех видов палитры :

     dpBlueDialog = 0 - синяя палитра диал. окна;

     dpCyanDialog = 1 - голубая палитра диал. окна;

     dpGrayDialog = 2 - серая палитра диал. окна.

     В отличие  от    обычного   окна       диалоговое    окно обычно

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

труктором Init :

     constructor tDialog.Init(var Bounds: tRect;

                                               ATitle: tTitleStr);

где  Bounds - размеры диалогового окна;

     ATitle - имя диалогового окна размером до 80 символов.

     В отличие от обычного окна у диалогового окна стандартно нет воз-

можности изменять размеры, оно использует серую палитру и не имеет но-

мера.

     К другим особенностям диалогового окна можно отнести обработку им

клавиш Esc  и Enter.Если диалоговое окно находится в модальном режиме,

нажатие Esc закрывает окно без сохранения введенной информации.Нажатие

клавиши Enter  эквивалентно  нажатию  кнопки,  выбираемой по умолчанию

(закрывает окно с сохранением внесенных изменений).

     Для удобной  работы  с  диалоговым  окном  в Turbo Vision имеется

большое количество стандартных объектов,  которые можно использовать в

качестве элементов этого окна.

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

следующим образом.Сначала создать и инициализировать диалоговое  окно,

при этом  поместив  в него все его элементы.Затем подготовить исходные

данные для передачи диалоговому окну.

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

тода ExecuteDialog и осуществляется работа с ним.При завершении работы

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

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

в том же параметре, в котором передавались исходные данные.

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

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

                       Элементы диалоговых окон

     Возможно использование стандартных элементов или их потомков :

     - строки ввода;

     - метки;

     - протоколы;

     - селективные списки;

     - триггерные списки;

     - кнопки;

     - статические и параметрические тексты;

     - списки строк;

     - линейки скроллинга.

                             Строка ввода

     Строка ввода (тип tInputLine) предназначена для ввода в программу

символьной информации.Фактически строка ввода представляет собой прос-

тейший редактор  строки символов и обладает большим набором возможнос-

тей.Основным элементом строки является буфер (строка,  в которую поме-

щаются все  вводимые  символы).Инициализируется  строка  ввода методом

Init :

     constructor tInputLine.Init(var Bounds: tRect;

                                               AMaxLen: Integer);

где  Bounds - размер поля строки ввода;

     AMaxLen - размер буфера.

     Высота поля строки ввода должна равняться единице.Ширина поля мо-

жет быть любой, но не менее 3.Размер буфера может иметь любое значение

до 255.После создания строки ввода  непосредственно  изменять  размеры

буфера нельзя.

     Так как строка ввода работает только с символьной информацией, то

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

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

преобразовано в двоичную.

                            Метка (tLabel)

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

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

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

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

ней элемент.

     Конструктор метки имеет вид :

     constructor tLabel.Init(var Bounds: tRect;

                               const AText: string; ALink: pView);

где  Bounds - размер поля метки;

     AText - текст метки;

     ALink - указатель на объект, с которым связана метка.

     Метка располагается либо над объектом,  либо слева от него.Высота

поля метки равна единице.Если текст метки состоит из цифр и  латинских

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

~~.Такая буква на экране будет выделена особым цветом, а нажав клавишу

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

                               Протокол

     Протокол (тип tHistory) всегда связан со строкой ввода и предназ-

начен для  сохранения  в своем буфере вводимой в строку ввода информа-

ции.Для вызова ранее набираемой информации следует,  находясь в строке

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

вишу мыши, либо нажать клавишу Down.В результате откроется окно прото-

кола, содержащее  вводимые  ранее строки в данную строку ввода.Следует

выбрать интересующую строку (клавиша мыши или клавиши Up и Down).Далее

дважды нажать клавишу мыши или нажать Enter.

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

     constructor tHistory.Init(var Bounds: tRect;

                             ALink: pInputLine; AHistoryID: Word);

где  Bounds - поле для размещения пиктограммы протокола;

     ALink - указатель на строку ввода, с которым связан протокол;

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

протокола.

     Обычно протокол размещается за строкой ввода,  к которой он отно-

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

  Селективный (тип  tRadioButtons)  и триггерный ( тип tCheckBoxes)

                                списки

     Селективный и триггерный списки очень похожи,  так как у них есть

общий предок (tCluster), заключающий в себе общие свойства.

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

списка.Количество элементов ограничено числом 65536.

     Триггерный список позволяет выбрать из списка любое число элемен-

тов (или ни одного),  однако при стандартном использовании число  эле-

ментов этого списка ограничено 16-ю.

     Оба списка инициализируются одним методом Init объекта tCluster :

     constructor tСluster.Init(var Bounds: tRect;

                                               AStrings: pSItem);

где  Bounds - поле, выделяемое под образ списка;

     AStrings - указатель на список информационных строк.

     Чтобы выбрать элемент списка, можно воспользоваться мышью, подве-

дя курсор к соответствующей строке и нажав клавишу,  либо клавиатурой,

используя клавиши направления.В триггерном  списке  при  использовании

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

пробела.

     В строке  символов каждого элемента списка можно выделить латинс-

кую букву или цифру, поместив ее между ~~.Она будет выделена на экране

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

клавиши клавиатуры с этим символом.

                         Кнопка (тип tButton)

     Кнопка позволяет выбрать команду, которая с ней связана.При выбо-

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

     Кнопка может иметь флаги,  находящиеся в параметре Flags при ини-

циализации :

     0-й бит (bfDefault) - кнопка, выбираемая по умолчанию.

     1-й бит (bfLeftJust) - текст кнопки выравнивается  по  ее  левому

             краю ( при отсутствии флага текст центрируется).

     2-й бит (bfBroadcast) - кнопка формирует сообщение вместо команды.

     3-й бит (bfGrabFocus)  - фокусирование кнопки при ее активизации

             мышью.

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

     constructor tButton.Init(var Bounds: tRect;

                    ATitle: tTitleStr; ACommand:Word;AFlags:Byte);

где  Bounds - поле, выделяемое под кнопку;

     ATitle - текст, размещаемый на кнопке;

     ACommand - код команды, связанной с кнопкой;

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


Новости


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

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

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.