Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РУКОВОДСТВО TURBO VISION ДЛЯ C++ TV Turbo Visio...doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
5.2 Mб
Скачать

Глава 16. Глобальный справочник

-----------------------------------------------------------------

Эта глава описывает все элементы Turbo Vision, которые не

являются частью иерархии стандартных объектов Turbo Vision. Эле-

менты этой главы включают typedefs, enumerations, константы, пе-

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

Vision.

Стандартные классы описаны в главе 13; классы редактора и

диалога описаны в 14 и 15 главах соответственно.

Типичный элемент данной главы выглядит так:

Функция sample SAMPLE.H

-----------------------------------------------------------------

Описание: void sample(int arg);

Функция: Sample считывает аргумент int и выполняет ряд по-

лезных функций.

См. также: родственные классы, функции и т.д.

Константы apXXXX APP.H

-----------------------------------------------------------------

Значения: Определены следующие константы палитры:

Таблица 16.1 Константы палитры.

------------------------------------------------------------

Константа Значение Назначение

------------------------------------------------------------

apColor 0 Палитра для цветного монитора

apBlackWhite 1 Палитра для жидкокристаллического

монитора

apMonochrome 2 Палитра для монохромного монитора

------------------------------------------------------------

Функция: Константы, начинающиеся с ap, используются для

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

программа, созданная с помощью Turbo Vision. Три палитры исполь-

зуются для цветного, черно-белого и монохромного дисплеев.

Boolean enumeration TTYPES.H

-----------------------------------------------------------------

Описание: enum Boolean ( False, True );

Функция: Присваивает int значение 0 и 1 соответственно для

False и True. Заметьте, что проверки if (testfunc() ) {...} и (

True == testfunc() ) {...} могут быть не эквивалентны.

BUILDER typedef TOBJSTRM.H

-----------------------------------------------------------------

Описание: typedef TStreamable*(*BUILDER)();

Функция: Каждый потоковый класс имеет функцию "построителя"

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

и инициализирует указатели vtable, когда объекты созданы, через

некоторые операции чтения из потока. Функция read из потокового

класса читает данные из потока в объекты-заготовки созданные

"построителем".

См. также: TView::build, TStreamable

Константы bfXXXX DIALOGS.H

-----------------------------------------------------------------

Значения: определены следующие флаги кнопки:

Таблица 16.2 Флаги кнопки.

------------------------------------------------------------

Константа Значение Назначение

------------------------------------------------------------

bfNormal 0x00 Обычная кнопка

bfDefault 0x01 Кнопка, используемая по умолчанию

bfLeftJust 0x02 Метка кнопки выровнена влево

------------------------------------------------------------

Функция: Комбинация этих значений передается в aFlags

конструктора TButton для определения вновь созданного типа

кнопки. bfNormal указывает на обычную (не назначенную по

умолчанию) кнопку. bfDefault указывает что, кнопка будет

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

была единственной умалчиваемой кнопкой в TGroup. Значение

bfLeftJust может быть добавлено к bfDefault или bfNormal и воз-

действует на позицию отображаемого текста внутри кнопки: если

сброшено, то метка центрируется; если установлено, то метка вы-

равнивается влево.

См. также: TButton::flags, TButton::makeDefault,

TButton::draw

Turbo Vision для С++ = 72 =

ccAppFunc typedef TTYPES.H

-----------------------------------------------------------------

Описание: typedef void (*ccAppFunc)(void *item, void *arg);

Функция: Используется в функциях-итераторах для указания на

функцию и аргументы для обработки элементов коллекции.

См. также: TNSCollection::forEach, ccTestFunc

ccIndex typedef TTYPES.H

-----------------------------------------------------------------

Описание: typedef int ccIndex;

Функция: Используется для индексации и подсчета элементов

коллекции.

См. также: TNSCollection::at

константа ccNotFound TTYPES.H

-----------------------------------------------------------------

Описание: const ccNotFound = -1

Функция: Значение ccIndex возвращается различными функциями

поиска в коллекции, если поиск не удался.

См. также: TNSCollection::indexOf

ccTestFunc typedef TTYPES.H

-----------------------------------------------------------------

Описание: typedef Boolean (*ccTestFunc)( void *item,

void *arg );

Функция: Используется в функциях-итераторах для указания на

функцию и аргументы для обработки элементов коллекции.

См. также: TNSCollection::firstThat,TNSCollection::lastThat,

ccAppFunc

Константы cmXXXX VIEWS.H

-----------------------------------------------------------------

Функция: Эти константы представляют предопределенные команды

Turbo Vision. Они передаются в поля TEvent::command событий

evMessage(evCommand и evBroadcast) и заставляют методы

handleEvent стандартных объектов Turbo Vision выполнять различные

задачи.

Turbo Vision резервирует значения констант от 0 до 99 и от

256 до 999 для своих целей. Обработчики событий стандартных объ-

Turbo Vision для С++ = 73 =

ектов Turbo Vision реагируют на эти предопределенные константы.

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

зонах от 100 до 255 и от 1000 до 65535 без конфликтов с предоп-

ределенными командами.

Значения: Следующие стандартные команды определены в Turbo

Vision и используются стандартными объектами Turbo Vision:

Таблица 16.3 Коды стандартных команд

-----------------------------------------------------------------

Команда Значение Назначение

-----------------------------------------------------------------

cmValid 0 Передается в TView::valid для проверки

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

cmQuit 1 Заставляет TProgram::handleEvent вызывать

endModal(cmQuit), завершая программу. Строка

состояния или одно из меню обычно содержат

элемент, который отображает клавишу kbAltX в ко-

манду cmQuit.

cmError 2 Не обрабатывается никаким объектом. Может ис-

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

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

cmMenu 3 Заставляет метод TMenuView::handleEvent вызывать

execView для выполнения выбора пункта меню, в ре-

зультате чего может посылаться новая команда (с

помощью putEvent). Строка состояния обычно содер-

жит элемент, который отображает клавишу kbF10 в

команду cmMenu.

cmClose 4 Обрабатывается TWindow::handleEvent, если поле

infoPtr события установлено в значение 0, или

указывает на окно. Если окно модальное (как мо-

дальный диалог), то посредством putEvent посыла-

ется evCommand со значением cmCancel. Если окно

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

вии, что окно поддерживает закрытие (смотри флаг

wfClose). нажатие на кнопку закрытия окна переда-

ет событие evCommand с сommand = cmClose и указа-

тель infoPtr, который указывает на окно. Строка

состояния или одно из меню обычно содержит эле-

мент, который отображает клавишу kbAltF3 в коман-

ду cmClose.

cmZoom 5 Заставляет TWindow::handleEvent вызывать метод

TWindow::zoom, если окно поддерживает возможность

распахивания (смотри флаг wfZoom) и если поле

infoPtr записи события установлен в 0 или указы-

вает на окно. Нажатие кнопки мыши на кнопке рас-

пахивания окна или двойное нажатие в строке заго-

ловка окна передает событие evCommand с command =

cmZoom, а infoPtr указывает на окно. Строка сос-

тояния или одно из меню обычно содержит элемент,

который отображает клавишу kbF5 в команду cmZoom.

cmResize 6 Заставляет TWindow::handleEvent вызывать метод

TView::dragView, если окно поддерживает

изменение размеров (смотри флаги wfMove и

wfGrow). Строка состояния или одно из меню обычно

содержит элемент, который отображает клавишу

kbCtrlF5 в команду cmResize.

cmNext 7 Заставляет TDeskTop::handleEvent сдвигать

последнее окно в оперативном поле экрана на пе-

редний план. Строка состояния или одно из меню

обычно содержит элемент, который отображает кла-

вишу kbF6 в команду cmNext.

cmPrev 8 Заставляет TDeskTop::handleEvent сдвигать первое

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

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

содержит элемент, который отображает клавишу

kbShiftF6 в команду cmPrev.

-----------------------------------------------------------------

Следующие стандартные команды используются для определения

поведения объектов панели диалога по умолчанию:

Turbo Vision для С++ = 76 =

Таблица 16.4 Стандартные команды панели диалога.

-----------------------------------------------------------------

Команда Значение Назначение

-----------------------------------------------------------------

cmOK 10 Была нажата кнопка OK

cmCancel 11 Панель диалога была отменена кнопкой

Cancel, кнопкой закрытия или клавишей Esc

cmYes 12 Была нажата кнопка Yes

cmNo 13 Была нажата кнопка No

cmDefault 14 Была нажата кнопка, назначенная по умолча-

нию

-----------------------------------------------------------------

События с командами cmOK, cmCancel, cmYes или cmNo

завершают модальный диалог TDialog::handleEvent и возвращают

значение команды (вызывая endModal). Модальный диалог обычно

содержит по крайней мере одну кнопку TButton с одним из этих зна-

чений команд. Метод TDialog::handleEvent будет посылать команду

событие cmCancel в ответ на событие от клавиатуры kbEsc.

Команда cmDefault заставляет TButton::handleEvent для ис-

пользуемой по умолчанию кнопки (см. флаг bfDefault) моделировать

нажатие кнопки. Метод TDialog::handleEvent в ответ на событие

клавиатуры kbEnter будет посылать событие команды cmDefault.

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

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

Turbo Vision для С++ = 77 =

Таблица 16.5 Стандартные команды отображаемых объектов.

-----------------------------------------------------------------

Команда Значение Назначение

-----------------------------------------------------------------

cmCut 20 Коды команд редактора

cmCopy 21

cmPaste 22

cmUndo 23

cmClear 24

cmTile 25

cmCasade 26

cmReceivedFocus 50 TView::setState использует функцию

cmReleasedFocus 51 message для передачи события evBroadcast

с одним из этих значений в свой

TView::owner, как только sfFocused

изменяется. infoPtr события указывает на

сам отображаемый объект. Это информирует

любой равный отображаемый объект, что

отображаемый объект стал или перестал

быть активным, и что они должны корректи-

роваться соответственно. Объект Tlabel,

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

чая или выключая свою подсветку.

cmCommandSetChanged 52 Метод TProgram::idle посылает событие

evBroadcast, как только он обнаружит из-

менение в текущем наборе команд (вызывая

методы enableCommands, desableCommands

или setCommands для TView). Общее сообще-

ние cmCommandSetChanged посылается в

handleEvent каждого отображаемого объекта

иерархии (если только их eventMask специ-

фически не маскируют события

evBroadcast). Если изменения в наборе ко-

манд затрагивают появление отображаемого

объекта, он должен реагировать на

cmCommandSetChanged своей перерисовкой.

Объекты TButton, TMenuView и TStatusLine,

например, реагируют на эту команду, отоб-

ражаясь заново.

cmScrollBarChanged 53 TScrollBar использует функцию message для

cmScrollBarClicked 54 передачи события evBroadcast с одним из

этих значений своему владельцу

TView::owner, как только обнаруживается

отметка "мышью" на строке прокрутки. Ука-

затель infoPtr события указывает на поло-

су прокрутки. Общие сообщения создаются

любыми равными отображаемыми объектами,

управляемыми строкой прокрутки, такими

как объекты TScroller и TListViewer.

Turbo Vision для С++ = 78 =

cmSelectWindowNum 55 Заставляет метод TWiondow::handleEvent

вызывать метод TView::select, если

infoInt записи события соответствует

TWindow::number. TProgram::handleEvent

реагирует на события от клавиатуры от Alt

-1 до Alt-9 общим сообщением

cmSelectWindowNum с infoInt от 1 до 9.

cmListItemSelected 56 Посылает сообщение TListViewer о том,

что элемент выбран.

cmRecordHistory 60 Заставляет объект THistory записывать

текущее содержимое объекта TInputLine.

TButton посылает сообщение

cmRecordHistory своему владельцу, когда

он выбран, в результате, заставляя сохра-

нять все объекты THistory в панели диало-

га.

-----------------------------------------------------------------

См. также: TView::handleEvent, TCommandSet

Turbo Vision для С++ = 79 =

функция cstrlen UTIL.H

-----------------------------------------------------------------

Описание: int cstrlen( const char *s );

Функция: Возвращает длину строки s, где s - это управляющая

строка, использующая символы тильда ('~') для указания символов

оперативных клавиш. Символы тильда исключаются из длины строки,

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

'~B~roccoly', cstrlen возвращает 8.

См. также: moveCStr

функция ctrlToArrow UTIL.H

-----------------------------------------------------------------

Описание: ushort ctrlToArrow( ushort keyCode);

Функция: Преобразует управляющие WordStar-совместимые коды

клавиатуры в соответствующие коды клавиш управления курсором. Ес-

ли младший байт keyCode соответствует одному из значений управля-

ющих клавиш, описанных в Таблице 16.6, результатом будет соот-

ветствующая константа kbXXXX. В противном случае, keyCode возвра-

щается неизмененным.

Таблица 16.6 Преобразование управляющих клавиш.

------------------------------------------------------

Комбинация клавиш Код Результат

------------------------------------------------------

Ctrl-A 0x01 kbHome

Ctrl-D 0x04 kbRight

Ctrl-E 0x05 kbUp

Ctrl-F 0x06 kbEnd

Ctrl-G 0x07 kbDel

Ctrl-S 0x13 kbLeft

Ctrl-V 0x16 kbIns

Ctrl-X 0x18 kbDown

------------------------------------------------------

Turbo Vision для С++ = 80 =

DEFAULT_SAFETY_POOL_SIZE BUFFERS.H

-----------------------------------------------------------------

Описание: const DEFAULT_SAFETY_POOL_SIZE = 4096

Функция: Содержит инициализированный для умолчания размер

резервного буфера в байтах. Вы можете изменить это значение ре-

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

TVMemMgr::resizeSafetyPool без аргумента размера, то будет приня-

то значение, назначенное по умолчанию.

См. также: TVMemMgr::resizeSafetyPool

константы dmXXXX VIEWS.H

-----------------------------------------------------------------

Значения: Биты dragMode определены следующим образом:

Рис. 16.1 Флаги режима dragMode.

┌── dragMode ─┐

│ │

старший бит младший бит

┌─┬─┬─┬─────────── dmLimitAll = 0xF0

╔╧╤╧╤╧╤╧╤═╤═╤═╤═╗

╚╤╧╤╧╤╧╤╧═╧═╧╤╧╤╝

│ │ │ │ │ └─── dmDragMove = ox01

│ │ │ │ └───── dmDragGrow = 0x02

│ │ │ └─────────── dmLimitLoX = 0x10

│ │ └───────────── dmLimitLoY = 0x20

│ └─────────────── dmLimitHiX = 0x40

└───────────────── dmLimitHiY = 0x80

Функция: Эти константы используются для компоновки

параметра mode метода TView::dragView. Они указывают, разрешены

ли движение и/или изменение размера и как интерпретировать

параметр limits.

Константы dragMode определены следующим образом:

Таблица 16.7 Константы режима dragMode.

------------------------------------------------------------

Константа Назначение

------------------------------------------------------------

dmDragMove Позволяет отображаемому объекту перемещаться.

dmDragGrow Позволяет отображаемому объекту менять размер.

dmLimitLoX Левая сторона отображаемого объекта не может

выходить за limits.

Turbo Vision для С++ = 81 =

dmLimitLoY Верхняя сторона отображаемого объекта не может

выходить за limits.

dmLimitHiX Правая сторона отображаемого объекта не может

выходить за limits.

dmLimitHiY Нижняя сторона отображаемого объекта не может

выходить за limits.

dmLimitAll Никакая часть отображаемого объекта не может

выходить за пределы limits.

------------------------------------------------------------

Поле dragMode объекта TView может содержать любую комбинацию

флагов dmLimitXX. По умолчанию конструктор TView устанавливает

это поле в значение dmLimitLoY. Поле dragMode используется с по-

токами только в методе TWindow::dragView, когда окно передвигает-

ся или изменяет размер.

константа EOS TTYPES.H

-----------------------------------------------------------------

Описание: const char EOS = '\0';

Функция: Синоним нулевого символа конца строки.

константа eventQSize CONFIG.H

-----------------------------------------------------------------

Описание: const eventQSize = 16;

Функция: Задает размер очереди событий.

константы evXXXX SYSTEM.H

-----------------------------------------------------------------

Функция: Эти мнемоники обозначают типы событий для обработ-

чиков событий Turbo Vision. Константы evXXXX используются в нес-

кольких местах: в поле event события, в поле eventMask отображае-

мого объекта и в переменных positionalEvents и focusedEvents.

Значения: Следующие значения флагов событий обозначают стан-

дартные типы событий:

Turbo Vision для С++ = 82 =

Таблица 16.8 Флаги стандартных событий

------------------------------------------------------------

Константа Значение Смысл

------------------------------------------------------------

evMouseDown 0x0001 Нажата кнопка "мыши"

evMouseUp 0x0002 Отпущена кнопка "мыши"

evMouseMove 0x0004 "Мышь" изменила положение

evMouseAuto 0x0008 Периодическое событие до тех пор,

пока нажата кнопка "мыши"

evKeyDown 0x0010 Нажата клавиша

evCommand 0x0100 Командное событие

evBroadcast 0x0200 Общее событие

------------------------------------------------------------

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

типов событий:

Таблица 16.9 Маски стандартных событий.

------------------------------------------------------------

Константа Значение Смысл

------------------------------------------------------------

evNothing 0x0000 Событие уже обработано

evMouse 0x000F Событие от мыши

evKeyboard 0x0010 Событие от клавиатуры

evMessage 0xFF00 Событие сообщение (команда, общее

сообщение или определено

пользователем).

------------------------------------------------------------

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

┌────── Флаги события ────────┐

│ │

старший бит младший бит

┌─┬─┬─┬─┬─┬─┬─┬───────────────────> evMessage = 0xFF00

│ │ │ │ │ │ │ │ ┌───────────> evKeyboard = 0x0010

│ │ │ │ │ │ │ │ │ ┌─┬─┬─┬───> evMouse = 0x000F

╔╧╤╧╤╧╤╧╤╧╤╧╤╧╤╧╤═╤═╤═╤╧╤╧╤╧╤╧╤╧╗

╚═╧═╧═╧═╧═╧═╧╤╧╤╧═╧═╧═╧╤╧╤╧╤╧╤╧╤╝

│ │ │ │ │ │ └───> evMouseDown = 0x0001

│ │ │ │ │ └─────> evMouseUp = 0x0002

│ │ │ │ └───────> evMouseMove = 0x0004

│ │ │ └─────────> evMouseAuto = 0x0008

│ │ └───────────> evKeyDown = 0x0010

│ └───────────────────> evCommand = 0x0100

└─────────────────────> evBroadcast = 0x0200

Рис. 16.2 Биты маски события.

Turbo Vision для С++ = 83 =

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

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

событий. Например:

if ( (event.what & evMouse) != 0 ) doMouseEvent();

См. также: TEvent, TView::eventMask, getKeyEvent,

getMouseEvent, handleEvent, positionalEvents, focusedEvents.

константа focusedEvents VIEWS.H

-----------------------------------------------------------------

Описание: focusedEvents = evKeyboard | evCommand;

Функция: Определяет классы событий, которые являются фокуси-

руемыми. Значения focusedEvents и positionalEvents используются

методом TGroup::handleEvent для определения того, как передать

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

focusedEvents или positionalEvents, то оно понимается как общее

событие.

См. также: positionalEvents, TGroup::handleEvent, TEvent,

evXXXX

функция genRefs GENINC.H

-----------------------------------------------------------------

Описание: char genRefs();

Функция: genRefs используется GENINC.CPP для генерации

ассемблерного сдвига для полей многих классов. GENINC.EXE создает

файл TVWRITE.INC необходимый для построения TV.LIB. Функция

genRefs является дружественной функцией для TDrawBuffer, TEditor,

TEventQueue, TTerminal, TView и TGroup. Она будет интересна толь-

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

Turbo Vision библиотеки.

функция getAltChar UTIL.H

-----------------------------------------------------------------

Описание: char getAltChar( ushort keyCode);

Функция: Возвращает символ сh, для которого Alt-сh вырабаты-

вает двухбайтовый скэн-код, заданный в аргументе keyCode. Эта

функция возвращает значение, обратное к getAltCode.

См. также: getAltCode.

функция getAltCode UTIL.H

-----------------------------------------------------------------

Описание: ushort getAltCode( char ch );

Turbo Vision для С++ = 84 =

Функция: Возвращает двухбайтовый скан код ( код клавиши ),

соответствующий Alt-сh. Эта функция делает обратное к getAltChar

отображение.

См. также: getAltChar.

Turbo Vision для С++ = 85 =

константы gfXXXX VIEWS.H

-----------------------------------------------------------------

Функция: Эти мнемоники используются для установки полей

growMode во всех TView и порожденных объектах. Биты, установлен-

ные в growMode, определяют, как отображаемый объект будет изме-

няться в зависимости от изменений размера его владельца.

Значения: Биты growMode определены следующим образом:

┌── growMode ─┐

│ │

cтарший бит младший бит

┌─┬─┬─┬─── gfGrowAll = 0x0F

╔═╤═╤═╤═╤╧╤╧╤╧╤╧╗

╚╤╧═╧╤╧╤╧╤╧╤╧╤╧╤╝

└─┬─┘ │ │ │ │ └─── gfGrowLoX = 0x01

│ │ │ │ └───── gfGrowLoY = 0x02

Неопределены │ │ └─────── gfGrowHiX = 0x04

│ └───────── gfGrowHiY = 0x08

└─────────── gfGrowRel = 0x10

Рис. 16.3 Биты режима growMode.

Таблица 16.10 Определения флага режима growMode.

-----------------------------------------------------------------

Константа Назначение

-----------------------------------------------------------------

gfGrowLoX Если установлен, то левая сторона отображаемого

объекта будет находиться на одном расстоянии от

правой стороны владельца. Если не установлен, то

указанное движение происходить не будет.

gfGrowLoY Если установлен, то верхняя сторона отображае-

мого объекта будет находиться на одном расстоянии

от нижней стороны владельца.

gfGrowHiX Если установлен, то правая сторона отображаемого

объекта будет находиться на одном расстоянии от

правой стороны владельца.

gfGrowHiY Если установлен, то нижняя сторона отображаемого

объекта будет находиться на одном расстоянии от

нижней стороны владельца.

gfGrowAll Если установлен, то отображаемый объект будет

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

дельца.

gfGrowRel Для использования с объектами TWindow, которые

находятся в рабочей области экрана. Отображаемый

Turbo Vision для С++ = 86 =

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

владельца. Окно будет обрабатываться соответственно

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

ние между режимами 25 и 43/50 строк.

-----------------------------------------------------------------

Заметим, что LoX= левая сторона; LoY = верхняя сторона;

HiX = правая сторона; HiY = нижняя сторона.

См. также: TView::growMode

константы hcXXXX VIEWS.H

-----------------------------------------------------------------

Значения: Определены следующие константы контекста подсказ-

ки:

Таблица 16.11 Константы контекста подсказки.

-------------------------------------------

Константа Значение Назначение

-------------------------------------------

hcNoContext 0 Контекст не задан

hcDragging 1 Объект перемещается

-------------------------------------------

Функция: Значение TView::helpCtx по умолчанию - hcNoContext,

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

подсказки. TView::getHelpCtx возвращает hcDragging, как только

отображаемый объект становится перемещаемым (это указывается сос-

тоянием флага sfDragging).

Turbo Vision резервирует для контекста подсказки значения от

0 до 999. Программисты могут определять свои константы в диапазо-

не от 1000 до 65535.

См. также: TView::helpCtx, TStatusLine::update.

функция historyAdd UTIL.H

-----------------------------------------------------------------

Описание: void historyAdd( uchar id, const char *str);

Функция: Добавляет строку str в протокол, указываемый с по-

мощью идентификатора id.

функция historyCount UTIL.H

-----------------------------------------------------------------

Описание: void historyCount( uchar id );

Функция: Возвращает количество строк в протоколе, соответс-

Turbo Vision для С++ = 87 =

твующее номеру ID.

функция historyStr UTIL.H

-----------------------------------------------------------------

Описание: const char *historyStr( uchar id, int index);

Функция: Возвращает строку в протоколе в позиции index, со-

ответствующую номеру ID.

функция inputBox MSGBOX.H

-----------------------------------------------------------------

Описание: ushort inputBox( const char *title, const char

*aLabel, char *s, uchar limit);

Функция: отображает окно ввода с данным заголовком и типом

элементов ввода. Принимает ввод в строку s с максимальным

размером limit символов.

См. также: inputBoxRect

функция inputBoxRect MSGBOX.H

-----------------------------------------------------------------

Описание: ushort inputBoxRect( const TRect &bounds, const

char *aLabel, char *s, uchar limit );

Функция: Отображает окно ввода с данными границами

заголовком и типом элементов ввода. Принимает ввод в строку s с

максимальным размером limit символов.

См. также: inputBox

константы kbXXXX TKEYS.H

-----------------------------------------------------------------

Значения: Следующие значения определяют состояние клавиатуры

и могут быть использованы при проверке регистров Shift клавиату-

ры, которое находится в байте с абсолютным адресом 0x40:0x17.

Turbo Vision для С++ = 88 =

Таблица 16.12 Состояние клавиатуры и маски Shift

------------------------------------------------------------------

Константа Значение Назначение

------------------------------------------------------------------

kbRightShift 0x0001 Равно 1, если правая клавиша Shift

нажата

kbLeftShift 0x0002 Равно 1, если левая клавиша Shift

нажата

kbCtrlShift 0x0004 Равно 1, если нажата клавиша Ctrl

kbAltShift 0x0008 Равно 1, если нажата клавиша Alt

kbScrollState 0x0010 Равно 1, если клавиатура

находится в состоянии Scroll Lock

kbNumState 0x0020 Равно 1, если клавиатура

находится в состоянии Num Lock

kbCapsState 0x0040 Равно 1, если клавиатура

находится в состоянии Caps Lock

kbInsState 0x0080 Равно 1, если клавиатура в

состоянии Ins Lock

-----------------------------------------------------------------

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

использоваться при проверке поля TEvent::keyCode, поля evKeyDown

события:

Таблица 16.13 Коды Alt-буква.

-----------------------------------------------------------

Константа Значение Константа Значение

-----------------------------------------------------------

kbAltA 0x1E00 kbAltN 0x3100

kbAltB 0x3000 kbAltO 0x1800

kbAltC 0x2E00 kbAltP 0x1900

kbAltD 0x2000 kbAltQ 0x1000

kbAltE 0x1200 kbAltR 0x1300

kbAltF 0x2100 kbAltS 0x1F00

kbAltG 0x2200 kbAltT 0x1400

kbAltH 0x2300 kbAltU 0x1600

kbAltI 0x1700 kbAltV 0x2F00

kbAltJ 0x2400 kbAltW 0x1100

kbAltK 0x2500 kbAltX 0x2D00

kbAltL 0x2600 kbAltY 0x1500

kbAltM 0x3200 kbAltZ 0x2C00

-----------------------------------------------------------

Таблица 16.14 Коды специальных клавиш.

-----------------------------------------------------------

Turbo Vision для С++ = 89 =

Константа Значение Константа Значение

-----------------------------------------------------------

kbAltEqual 0x8300 kbEnd 0x4F00

kbAltMinus 0x8200 kbEnter 0x1C0D

kbAltSpace 0x0200 kbEsc 0x011B

kbBack 0x0E08 kbGrayMinus 0x4A2D

kbCtrlBack 0x0E7F kbHome 0x4700

kbCtrlDel 0x0600 kbIns 0x5200

kbCtrlEnd 0x7500 kbLeft 0x4B00

kbCtrlEnter 0x1C0A kbNoKey 0x0000

kbCtrlHome 0x7700 kbPgDn 0x5100

kbCtrlIns 0x0400 kbPgUp 0x4900

kbCtrlLeft 0x7300 kbrayPlus 0x4E2B

kbCtrlPgDn 0x7600 kbRight 0x4D00

kbCtrlPgUp 0x8400 kbShiftDel 0x0700

kbCtrlPrtSc 0x7200 kbShiftIns 0x0500

kbCtrlRight 0x7400 kbShiftTab 0x0F00

kbDel 0x5300 kbTab 0x0F09

kbDown 0x5000 kbUp 0x4800

Таблица 16.15 Коды Alt-число.

-----------------------------------------------------------

Константа Значение Константа Значение

-----------------------------------------------------------

kbAlt1 0x7800 kbAlt6 0x7D00

kbAlt2 0x7900 kbAlt7 0x7E00

kbAlt3 0x7A00 kbAlt8 0x7F00

kbAlt4 0x7B00 kbAlt9 0x8000

kbAlt5 0x7C00 kbAlt0 0x8100

-----------------------------------------------------------

Таблица 16.16 Коды функциональных клавиш.

-----------------------------------------------------------

Константа Значение Константа Значение

-----------------------------------------------------------

kbF1 0x3B00 kbF6 0x4000

kbF2 0x3C00 kbF7 0x4100

kbF3 0x3D00 kbF8 0x4200

kbF4 0x3E00 kbF9 0x4300

kbF5 0x3F00 kbF0 0x4400

-----------------------------------------------------------

Таблица 16.17 Коды Shift-функциональная клавиша.

-----------------------------------------------------------

Константа Значение Константа Значение

-----------------------------------------------------------

kbShiftF1 0x5400 kbShiftF6 0x5900

kbShiftF2 0x5500 kbShiftF7 0x5A00

kbShiftF3 0x5600 kbShiftF8 0x5B00

kbShiftF4 0x5700 kbShiftF9 0x5C00

kbShiftF5 0x5800 kbShiftF0 0x5D00

-----------------------------------------------------------

Turbo Vision для С++ = 90 =

Таблица 16.18 Коды Ctrl-функциональная клавиша.

-----------------------------------------------------------

Константа Значение Константа Значение

-----------------------------------------------------------

kbCtrlF1 0x5E00 kbCtrlF6 0x6300

kbCtrlF2 0x5F00 kbCtrlF7 0x6400

kbCtrlF3 0x6000 kbCtrlF8 0x6500

kbCtrlF4 0x6100 kbCtrlF9 0x6600

kbCtrlF5 0x6200 kbCtrlF0 0x6700

-----------------------------------------------------------

Таблица 16.19 Коды Alt-функциональная клавиша.

-----------------------------------------------------------

Константа Значение Константа Значение

-----------------------------------------------------------

kbAltF1 0x6800 kbAltF6 0x6D00

kbAltF2 0x6900 kbAltF7 0x6E00

kbAltF3 0x6A00 kbAltF8 0x6F00

kbAltF4 0x6B00 kbAltF9 0x7000

kbAltF5 0x6C00 kbAltF0 0x7100

-----------------------------------------------------------

См. также: evKeyDown, getKeyEvent.

Turbo Vision для С++ = 91 =

функция lowMemory UTIL.H

-----------------------------------------------------------------

Описание: Boolean lowMemory();

Функция: Вызывает метод TVMemMgr::safetyPoolExhausted для

проверки состояния резервного буфера.

См. также: TVMemMgr::safetyPoolExhausted

Переменная maxCollectionSize CONFIG.H

-----------------------------------------------------------------

Описание: const maxCollectionSize = (int)((65536uL -

16)/sizeof( void * );

Функция: Определяет максимальное число элементов, которые

может содержать коллекция. По существу это число указателей, ко-

торое помещается в сегменте памяти размером 64К.

константа maxFindStrLen CONFIG.H

-----------------------------------------------------------------

Описание: const maxFindStrLen = 80;

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

раммах TEditor.

константа maxReplaceStrLen CONFIG.H

-----------------------------------------------------------------

Описание: const maxReplaceStrLen = 80;

Функция: Дает максимальную длину строки замены в программах

TEditor.

константа maxViewWidth VIEWS.H

-----------------------------------------------------------------

Описание: maxViewWidth = 132;

Функция: Устанавливает максимальную ширину отображаемого

объекта.

См. также: поле TView::size.

константа mbXXXX SYSTEM.H

-----------------------------------------------------------------

Функция: Эти константы могут использоваться при проверке по-

ля TEvent::buttons события evMouse. Например:

Turbo Vision для С++ = 92 =

if ( (event.what == evMouseDown) &&

(event.button == mbLeftButton) )

doLeftButtonDownAction();

Значения: Определены следующие константы:

Turbo Vision для С++ = 93 =

Таблица 16.20 Константы кнопок мыши

-----------------------------------------------------------------

Константа Значение Назначение

-----------------------------------------------------------------

mbLeftButton 0x01 Равно 1, если была нажата левая кнопка

mbRightButton 0x02 Равно 1, если была нажата правая кнопка

-----------------------------------------------------------------

См. также: getMouseEvent.

функция message UTIL.H

-----------------------------------------------------------------

Описание: void *message(TView *receiver, ushort what,

ushort command, void *infoPtr);

Функция: Устанавливает событие с аргументами event, command

или infoPtr, затем, если возможно, вызывает метод

receiver->handleEvent для обработки этого события. message возв-

ращает значение 0, если receiver имеет значение 0 или, если собы-

тие не обработано успешно. Если событие успешно обработано

(handleEvent возвращает event.what = evNothing), функция возвра-

щает event.infoPtr. Это можно использовать для определения того,

каким отображаемым объектом обработано событие. Аргумент event

обычно устанавливается в значение evBroadcast. Например, по умол-

чанию TscrollBar::scrollDraw посылает следующее сообщение в стро-

ку прокрутки владельца:

message( owner, evBroadcast, cmScrollBarChanged, this );

Это сообщение гарантирует, что соответствующие отображаемые

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

изменится.

См. также: TView::handleEvent, TEvent, константы cmXXXX,

константы evXXXX.

функция messageBox MSGBOX.H

-----------------------------------------------------------------

Описание: ushort messageBox( const char *msg, ushort

aOptions );

ushort messageBox( ushort aOptions, const

char *msg, ... );

Функция: Первая форма отображает данное сообщение. Вторая

форма использует msg как строку формата, используя дополнительные

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

значение одной из констант оконного сообщения mfXXXX.

См. также: mfXXXX

Turbo Vision для С++ = 94 =

функция messageBoxRect MSGBOX.H

-----------------------------------------------------------------

Описание: ushort messageBoxRect( const TRect &r, const char

*msg, ushort aOptions);

ushort messageBoxRect( const TRect &r, ushort

aOptions, const char *msg,

... );

Функция: Первая форма отображает данное сообщение в указан-

ном окне. Вторая форма использует msg как строку формата исполь-

зуя дополнительные параметры, которые следуют за ней. aOptions

устанавливается в одну из констант оконного сообщения mfXXXX.

См. также: mfXXXX

Turbo Vision для С++ = 95 =

константы mfXXXX MSGBOX.H

-----------------------------------------------------------------

Значения: Следующие константы оконных сообщений определены

для использования с messageBox:

Таблица 16.21 Константы messageBox.

-----------------------------------------------------------------

Константа Значение Назначение

-----------------------------------------------------------------

mfWarning 0x0000 Отображает окно предупреждения

mfError 0x0001 Отображает окно ошибки

mfInformation 0x0002 Отображает окно информации

mfConfirmation 0x0003 Отображает окно подтверждения

mfYesButton 0x0100 Помещает в диалог кнопку Yes

mfNoButton 0x0200 Помещает в диалог кнопку No

mfOKButton 0x0400 Помещает в диалог кнопку OK

mfCanselButton 0x0800 Помещает в диалог кнопку Cancel

-----------------------------------------------------------------

Определяется стандартная панель диалога "Yes,No,Cancel":

mfYesNoCansel = mfYesButton | mfNoButton | mfCanselButton;

Определяется стандартная панель диалога "OK,Cancel":

mfOKCansel = mfOKButton | mfCanselButton;

См. также: messageBox

функция moveBuf UTIL.H

-----------------------------------------------------------------

Описание: void moveBuf( void *dest, const void *sourse,

ushort attr, ushort count);

Функция: Копирует текст в буфер. dest указывает на буфер

созданный пользователем; sourse должен быть массивом символов.

Count байт перемещается из sourse в младшие байты соответствующих

слов в dest. Старшие байты слов в dest устанавливаются в attr или

остаются неизмененными, если параметр attr равен нолю.

См. также: TDrawBuffer, moveChar, moveCStr, moveStr.

функция moveChar UTIL.H

-----------------------------------------------------------------

Описание: void moveChar( void *dest, char c, ushort attr,

ushort count);

Функция: Копирует символы в буфер. dest указывает на буфер,

созданный пользователем. Младшие биты первых count слов в dest

Turbo Vision для С++ = 96 =

устанавливаются в c или остаются неизмененными, если с равно

'\0'. Старшие биты слов устанавливаются в attr или остаются неиз-

мененными если параметр attr равен нолю.

См. также: TDrawBuffer, moveBuf, moveCStr, moveStr

функция moveCStr UTIL.H

-----------------------------------------------------------------

Описание: void moveCStr( void *dest, const char *str,

ushort attrs);

Функция: Копирует двухцветную строку в буфер. dest

указывает на буфер созданный пользователем. Символы из str

копируются в младшие байты соответствующих слов в dest. Старшие

байты слов устанавливаются в lo(attr) или hi(attr). Символы

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

атрибутами байт, передаваемыми в слово attr.

См. также: TDrawBuffer, moveChar, moveBuf, moveStr

функция moveStr UTIL.H

-----------------------------------------------------------------

Описание: void moveStr( void *dest, const char *str, ushort

attrs);

Функция: Копирует строку в буфер. dest указывает на буфер

созданный пользователем. Символы из str копируются в младшие

байты соответствующих слов в dest. Старшие байты слов

устанавливаются в attr или остаются неизмененными, если параметр

attr равен нулю.

См. также: класс TDrawBuffer, moveChar, moveCStr, moveBuf

функция newStr UTIL.H

-----------------------------------------------------------------

Описание: char *newStr( const char *s);

Функция: Динамическое создание строки. Если s пустая, то

newStr возвращает нулевой указатель. В противном случае

размещаются strlen(s)+ 1 байт, в которые копируется s ( с

разделителем '\0' ) и возвращается указатель на первый байт. Вы

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

константы ofXXXX VIEWS.H

-----------------------------------------------------------------

Функция: Эти мнемонические обозначения используются для

ссылок на битовые позиции поля TView::options. Установка позиции

бита в 1 указывает, что отображаемый объект имеет отдельный атри-

бут; очистка битовой позиции означает, что атрибут отключен или

запрещен. Например:

myWindow.options = ofTileable | ofSelectable;

Значения: Определены следующие параметры флагов:

Таблица 16.22 Параметры флагов.

-----------------------------------------------------------------

Константа Назначение

-----------------------------------------------------------------

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

автоматически (см. sfSelectable), например, от-

меткой мышью в отображаемом объекте или клавишей

Tab в панели диалога.

ofTopSelect Установлен, если отображаемый объект помещается

перед всеми другими равными отображаемыми объек-

тами, когда он выделен. Когда бит ofTopSelect ус-

тановлен, вызов метода TView::select соответству-

ет вызову метода TView::makeFirst. Окна (TWindow

и его потомки) по умолчанию имеют этот бит уста-

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

всеми другими окнами в рабочей области экрана,

когда они выбираются. См. также TView::select,

TGroup::makeFirst.

ofFirstClick Если бит сброшен, то отметка "мышью", которая

выделяет отображаемый объект, не имеет эффекта.

Если установлен, такая отметка "мышью" будет ра-

ботать как обычный отметка "мышью после выбора

отображаемого объекта. Не имеет эффекта, если

флаг ofSelectable не установлен. См. также

TView::handleEvent, sfSelect, ofSelectable.

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

TWindow и его потомки имеют TFrame, как свой пос-

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

рисуется, TFrame рисует рамку вокруг любого дру-

гого подобъекта, у которого установлен бит

ofFrame. См. также TFrame, TWindow.

ofPreProcess Установлен, если отображаемый объект получает ак-

тивные события до того, как они были посланы ак-

тивному объекту. В противном случае сброшен. См.

также sfFocused, ofPostProcess, TGroup::phase.

Turbo Vision для С++ = 98 =

ofPostProcess Установлен, если отображаемый объект получает ак-

тивное событие в случае, когда активный объект не

может их обработать. В противном случае сбрасыва-

ется. См. также sfFocused, ofPreProcess, TGroup::

phase.

ofBuffered Используется только для объектов TGroup и

производных классов. Установлен, если кэш-буфер

распределяет доступную память. Буфер группы

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

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

отсутствии буфера, метод TGroup::draw вызывает

методы каждого подобъекта drawView. Если впос-

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

группы будут удалены из памяти.

ofTileable Установлен, если рабочая область экрана может

расположить этот отображаемый объект с перекрыти-

ем (каскадное расположение). Обычно используется

только с объектами TWindow.

ofCenterX Установлен, если отображаемый объект центрирует-

ся по оси x своего владельца при вставке в группу

с использованием TGroup::insert.

ofCenterY Установлен, если отображаемый объект центрирует-

ся по оси y своего владельца при включении в

группу с использованием метода TGroup::insert.

ofCentered Установлен, если отображаемый объект центрируется

по обоим осям своего владельца при включении в

группу с использованием метода TGroup::insert.

-----------------------------------------------------------------

Turbo Vision для С++ = 99 =

Биты options определены следующим образом:

┌────────── options ──────────┐

│ │

старший бит младший бит

┌─┬───────────────────> ofCentered = 0x0300

╔═╤═╤═╤═╤═╤═╤╧╤╧╤═╤═╤═╤═╤═╤═╤═╤═╗

╚╤╧═╧═╧═╧═╧╤╧╤╧╤╧╤╧╤╧╤╧╤╧╤╧╤╧╤╧╤╝

└────┬────┘ │ │ │ │ │ │ │ │ │ └───> ofSelectable = 0x0001

│ │ │ │ │ │ │ │ │ └─────> ofTopSelect = 0x0002

Резерв │ │ │ │ │ │ │ └───────> ofFirstClick = 0x0004

│ │ │ │ │ │ └─────────> ofFramed = 0x0008

│ │ │ │ │ └───────────> ofPreProcess = 0x0010

│ │ │ │ └─────────────> ofPostProcess = 0x0020

│ │ │ └───────────────> ofBuffered = 0x0040

│ │ └─────────────────> ofTileable = 0x0080

│ └───────────────────> ofCenterX = 0x0100

└─────────────────────> ofCenterY = 0x0200

Рис. 14.4 Битовые флаги options.

См. также: TView::options

операция + MENUS.H

-----------------------------------------------------------------

Описание: TSubMenu& operator + ( TSubMenu& s,TMenuItem& i);

TSubMenu& operator + ( TSubMenu& s1,TSubMenu& s2);

Функция: Эти переопределяемые операции + используются с

конструкторами TSubMenu, TMenuItem, TStatusDef и TStatusItem для

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

операция delete NEW.CPP

-----------------------------------------------------------------

Описание: void *operator delete( void *blk );

Функция: Освобождает место в динамически распределяемой об-

ласти оперативной памяти. Если резервный буфер исчерпан, то вызы-

вается метод TVMemMgr::resizeSafetyPool. Он освобождает старый

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

4096 байт).

См. также: TVMemMgr::resizeSafetyPool

операция new NEW.CPP

-----------------------------------------------------------------

Описание: void *operator new( size_t sz );

Turbo Vision для С++ = 100 =

Функция: Пытается выделить sz байт в динамически распределя-

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

щение, если оно успешно. Если выделение памяти не удалось, то кэш

буферы (если имеются) освобождаются один за другим и попытка раз-

мещения возобновляется. Если это не удается и резервный буфер ис-

черпан, то new вызывает abort. В противном случае предпринимается

попытка размещения в резервном буфере. Эта попытка, независимо от

того удачна она или нет, устанавливает указатель

TVMemMgr::safetyPool в 0 (указывая, что резервный буфер исчер-

пан). Если операция new выполнила выделение памяти в резервном

буфере успешно, то возвращается указатель на размещение; в про-

тивном случае вызывается abort. Операция new является дружествен-

ной для TBufListEntry.

См. также: TVMemMgr::safetyPool,

TVMemMgr::safetyPoolExhausted, TVMemMgr::resizeSafetyPool

константа positionalEvents VIEWS.H

-----------------------------------------------------------------

Описание: positionalEvents = evMouse;

Функция: Определяет классы событий как positionalEvents.

Переменные focusedEvents и positionalEvents используются

методом TGroup::handleEvent, чтобы установить соответствие собы-

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

focusedEvents или positionalEvents, то оно интерпретируется как

общее событие.

См. также: TGroup::handleEvent, TEvent, evXXXX,

focusedEvents

Turbo Vision для С++ = 101 =

константы sbXXXX VIEWS.H

-----------------------------------------------------------------

Функция: Эти константы определяют различные области

TScrollBar, в которых воспринимается отметка мышью.

Функция TScrollBar::scrollStep осуществляет преобразование

этих констант в действительные значения шага прокрутки. Хотя она

определена, константа sbIndicator никогда не передается в

TScrollBar::scrollStep.

Таблица 16.23 Константы строки прокрутки.

-----------------------------------------------------------

Константа Значение Назначение

-----------------------------------------------------------

sbLeftArrow 0 Левая стрелка горизонтальной

строки прокрутки.

sbRightArrow 1 Правая стрелка горизонтальной

строки прокрутки.

sbPageLeft 2 Левая страничная область

горизонтальной строки прокрутки.

sbPageRight 3 Правая страничная область

горизонтальной строки прокрутки.

sbUpArrow 4 Стрелка вверх вертикальной строки

прокрутки.

sbDownArrow 5 Стрелка вниз вертикальной строки

прокрутки.

sbPageUp 6 Верхняя страничная область

вертикальной строки прокрутки.

sbPageDown 7 Нижняя страничная область

вертикальной строки прокрутки.

sbIndicator 8 Индикатор на строке прокрутки.

-----------------------------------------------------------

Turbo Vision для С++ = 102 =

^ >── sbUpArrow

▒ >── sbPageUp

sbIndicator ────────<

│ ▒

│ ▒

│ ▒

│ ▒ >── sbPageDown

│ ▒

│ ▒

v v >── sbDownArrow

<▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒>─┘

^ ^ ^ ^

│ │ │ │

│ sbPageLeft sbPageRight │

sbLeftArrow sbRightArrow

Рис. 16.5 Строка прокрутки.

В метод TWindow::standardScrollBar могут передаваться следу-

ющие значения.

Таблица 16.24 Константы standardScrollBar.

-----------------------------------------------------------

Константа Значение Назначение

-----------------------------------------------------------

sbHorizontal 0x0000 Строка прокрутки горизонтальна

sbVertical 0x0001 Строка прокрутки вертикальна

sbHandleKeyboard 0x0002 Строка прокрутки реагирует на

команды клавиатуры

-----------------------------------------------------------

См. также: TScrollBar, TScrollBar::scrollStep,

TWindow::standardScrollBar:

selectMode enumeration VIEWS.H

-----------------------------------------------------------------

Описание: selectMode = (normalSelect, enterSelect,

leaveSelect);

Функция: Служит для внутреннего использования в Turbo

Vision.

См. также: TGroup::execView, TGroup::setCurrent.

Turbo Vision для С++ = 103 =

константы sfXXXX VIEWS.H

-----------------------------------------------------------------

Функция: Эти константы используются для доступа к соответс-

твующим битам поля TView::state. Поля TView::state никогда не

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

зовать метод TView::setState.

Значения: Определены следующие флаги состояния:

Таблица 16.25 Константы флагов состояния.

-----------------------------------------------------------------

Константа Назначение

-----------------------------------------------------------------

sfVisible Установлен, если отображаемый объект виден в своем

владельце; в противном случае 0. Отображаемые объек-

ты по умолчанию имеют флаг состояния sfVisible. Ме-

тоды TView::show и TView::hide могут использоваться

для модификации флага sfVisible. При sfVisible = 1

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

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

верки видимости на экране, проверьте бит sfExposed

или вызовите функцию TView::exposed.

sfCursorVis Установлен, если курсор отображаемого объекта ви-

дим, в противном случае сброшен. По умолчанию сбро-

шен. Методы TView::showCursor и TView::hideCursor

могут использоваться для модификации sfCursorVis.

sfCursorIns Установлен, если курсор отображаемого объекта

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

очищен, если курсор отображаемого объекта - символ

подчеркивания. По умолчанию сброшен. Методы TView::

blockCursor и TView::normalCursor могут использо-

ваться для модификации sfCursorIns.

sfShadow Установлен, если отображаемый объект имеет тень, в

противном случае, сброшен.

sfActive Установлен, если отображаемый объект - это активное

окно или подобъект активного окна.

sfSelected Установлен, если отображаемый объект - это текущий

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

объект TGroup имеет поле current, которое указывает

на текущий выбранный подобъект (или 0, если никаких

подобъектов не выбрано). Может быть только один выб-

ранный подобъект в TGroup.

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

кущим. Отображаемый объект будет текущим, если он

выделен и все владельцы выше его также выделены,

Turbo Vision для С++ = 104 =

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

разованной указателями current всех TGroup, начиная

с application (самый верхний отображаемый объект в

иерархии отображаемых объектов). Последний отобража-

емый объект цепочки - это конечное назначение для

всех focused events.

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

щать; в противном случае, сброшен.

sfDisabled Установлен, если отображаемый объект запрещен; очи-

щен, если разрешен. Запрещенные отображаемые объекты

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

sfModal Установлен, если отображаемый объект - модальный. В

выполняемой программе, написанной с помощью Turbo

Vision, всегда существует точно один отображаемый

объект (обычно, объекты TAppplication или TDialog).

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

рез вызов execView), этот отображаемый объект стано-

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

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

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

не вызван его метод endModal. Во время этого "ло-

кального" цикла событий события передаются нижним

подобъектам в дереве отображаемых подобъектов. Собы-

тия от этих нижних отображаемых объектов передаются

по дереву, но не далее модального отображаемого объ-

екта. См. также sfSelected, sfFocused, TView::

setState, TView::handleEvent, TGroup::execView.

sfDefault Это свободный флаг, доступный для определения

пользователем какого-либо состояния по умолчанию.

sfExposed Установлен, если у отображаемого объекта прямой или

косвенный владелец - объект application и следова-

тельно он может быть виден на экране. Метод

TView::exposed использует этот флаг при отсечении,

определяя, какая часть отображаемого объекта

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

TView::exposed.

-----------------------------------------------------------------

Turbo Vision для С++ = 105 =

Значения: Биты флага state определены так:

┌──────────── state ──────────┐

│ │

старший бит младший бит

╔═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╗

╚═╧═╧═╧═╧╤╧═╧╤╧╤╧╤╧╤╧╤╧╤╧╤╧╤╧╤╧╤╝

│ │ │ │ │ │ │ │ │ │ └─── sfVisible = 0x0001

│ │ │ │ │ │ │ │ │ └───── sfCursorVis = 0x0002

│ │ │ │ │ │ │ │ └─────── sfCursorIns = 0x0004

│ │ │ │ │ │ │ └───────── sfShadow = 0x0008

│ │ │ │ │ │ └─────────── sfActive = 0x0010

│ │ │ │ │ └───────────── sfSelected = 0x0020

│ │ │ │ └─────────────── sfFocused = 0x0040

│ │ │ └───────────────── sfDragging = 0x0080

│ │ └─────────────────── sfDisabled = 0x0100

│ └───────────────────── sfModal = 0x0200

└───────────────────────── sfExposed = 0x0800

Рис. 16.6 Биты флага состояния.

См. также: TView::state

переменная specialChars TTYPES.H

-----------------------------------------------------------------

Описание: extern const uchar spesialChar[] =

{

175, 174, 26, 27, ' ',' '

};

Функция: Определяет символы индикатора, используемые для

подсветки активного отображаемого объекта в монохромном видеоре-

жиме. Эти символы отображаются, если переменная showMarkers имеет

значение True.

См. также: переменная showMarkers

StreamableInit enumeration TTYPES.H

-----------------------------------------------------------------

Описание: enum StreamableInit { StreamableInit };

Функция: Каждый потоковый класс имеет специального "построи-

теля", который берет аргумент streamableinit. Это определено в

данном enumeration, обеспечивая уникальный тип данных для этого

аргумента конструктора.

См. также: TView::TView( StreamableInit );

Turbo Vision для С++ = 106 =

TScrollChars typedef VIEWS.H

-----------------------------------------------------------------

Описание: typedef char TScrollChars[5];

Функция: Массив, представляющий символы, используемые для

отображения TScrollBar.

См. также: TScrollBar

uchar typedef TTYPES.H

-----------------------------------------------------------------

Описание: typedef unsigned char uchar;

Функция: Синоним для unsigned char.

ushort typedef TTYPES.H

-----------------------------------------------------------------

Описание: typedef unsigned short ushort;

Функция: Синоним для unsigned short.

константы wfXXXX VIEWS.H

-----------------------------------------------------------------

Функция: Эти мнемонические обозначения определяют биты в по-

ле flags объектов TWindow. Если биты установлены, окно будет

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

размер, закрываться или распахиваться.

Turbo Vision для С++ = 107 =

Значения: Флаги окна определены следующим образом:

Рис. 16.7 Флаги окна

┌─── flags ───┐

│ │

старший бит младший бит

╔═╤═╤═╤═╤═╤═╤═╤═╗

╚╤╧═╧═╧╤╧╤╧╤╧╤╧╤╝

└──┬──┘ │ │ │ └─ wfMove = 0x01

│ │ │ └─── wfGrow = 0x02

Неопределены│ └───── wfClose = 0x04

└─────── wfZoom = 0x08

Таблица 16.26 Константы флагов окна.

------------------------------------------------------------

Константа Значение Смысл

------------------------------------------------------------

wfMove 0x01 Окно можно перемещать

wfGrow 0x02 Можно изменять размеры окна соответствующей

кнопкой в нижнем правом углу

wfClose 0x04 Рамка окна имеет закрывающую кнопку

wfZoom 0x08 Рамка окна имеет кнопку распахивания

------------------------------------------------------------

Если отдельный бит установлен (=1), то соответствующая воз-

можность разрешена, в противном случае (=0), эта возможность зап-

рещена.

См. также: TWindows::flags

константa wnNoNumber VIEWS.H

-----------------------------------------------------------------

Описание: const ushort wnNoNumber = 0;

Функция: Если поле TWindow::number содержит эту константу,

то это указывает, что окно не может иметь номера и не может выби-

раться через Alt+number. Если поле number имеет значение от 1 до

9, то номер окна отображается и выбор Alt+number доступен.

См. также: TWindow::number

структура write_args VIEWS.H

-----------------------------------------------------------------

Описание: struct write_args

{

void far *self;

Turbo Vision для С++ = 108 =

void far *target;

void far *buf;

ushort offset;

};

Функция: Используется методом TView::writeView.

константы wpXXXX VIEWS.H

-----------------------------------------------------------------

Функция: Эти константы определяют три стандартных цвета,

отражая их назначение. По умолчанию, TWindow::palette имеет

палитру wpBlueWindow. По умолчанию, объекты TDialog имеют

палитру wpGrayWindow.

Значения: Три стандартных палитры окна определены следующим

образом:

Таблица 16.27 Стандартные палитры окна.

------------------------------------------------------------

Константа Значение Назначение

------------------------------------------------------------

wpBlueWindow 0 Желтый текст на синем фоне

wpCuanWindow 1 Синий текст на бирюзовом фоне

wpGrayWindow 2 Черный текст на сером фоне

------------------------------------------------------------

См. также: TWindow::palette, TWindow::getPalette

604