|
Часть 30
----------------------------------------------------------
TPXPictureValidator Validate
-----------------------------------------------------------
Объект картинки определителя допустимости сравнивает
ввод пользователя с картинкой формата данных для определе-
ния допустимости вводимых данных. Эти картинки совместимы с
картинками, используемыми реляционными базами данных
Paradox фирмы Borland, служащих для проверки допустимости
вводимых данных. Полное описание картинок содержится в ме-
тоде Picture TPXPictureValidator.
Поле
-----------------------------------------------------------
Pic
Pic: PString;
Указывает на строку, которая описывает формат для дан-
ных в связанной строке ввода. Конструктор Init устанавлива-
ет Pic равным строке, переданной в качестве одного из его
параметров.
Методы
-----------------------------------------------------------
Init
constructor Init (const APic: string;
AutoFill: Boolean);
Создает объект картинки определителя допустимости, вы-
зывая сначала конструктор Init, унаследованный от
TValidator, а затем выделяет в динамической памяти копию
APic и устанавливает значение Pic равным указателю на нее,
после чего устанавливает бит voFill в Options в случае, ес-
ли AutoFill равно True.
См. также: TValidator.Init
Load
constructor Load(var S: TStream);
Создает и загружает объект картинки определителя до-
пустимости из потока S, вызывая сначала конструктор Load,
унаследованный от TValidator, а затем считывая значение по-
ля Pic, введенного TPXPictureValidator.
См. также: TValidator.Load
Done
destructor Done; virtual;
Уничтожает строку, на которую указывает Pic; затем
уничтожает объект картинки определителя допустимости, вызы-
вая деструктор Done, унаследованный от TValidator.
Error
procedure Error; Virtual;
Выдает окно сообщений, указывающее на ошибку в формате
картинки, отображая строку, на которую указывает Pic.
IsValidInput
function IsValidInput (var S: string;
SupressFill: Boolean): Boolean; virtual;
Сравнивает строку, переданную в S, с картинкой форма-
та, описанной в Pic, и возвращает True в случае, если Pic
равно nil или Picture не возвращает prError для S; в про-
тивном случае возвращает False. Параметр SupressFill пере-
определяет значение в voFill на время вызова IsValidInput.
S является параметром типа var, поэтому IsValidInput
может изменять это значение. Например, если SupressFill
равно False и voFill установлено, то вызов Picture возвра-
щает заполненную строку, основанную на S, поэтому образ в
строке ввода автоматически отражает формат, указанный в
Pic.
См. также: TPXPictureValidator.Picture
IsValid
function IsValid (const S: string): Boolean;
virtual;
Сравнивает строку, переданную в S, с картинкой форма-
та, указанной в Pic, и возвращает True в случае, если Pic
равно nil или Picture возвращает для S prComplete, что оз-
начает, что для удовлетворения описанного формата S не тре-
бует дальнейшего ввода данных.
См. также: TPXPictureValidator.Picture
Picture
function Picture (var Input: string):
TPicResult; virtual;
Форматирует строку, переданную в Input, в соответствии
с форматом, указанным в строке картинки, на которую указы-
вает Pic. Возвращает prError в случае, если в строке кар-
тинки имеется ошибка или если Input содержит данные, не со-
ответствующие указанной картинке. Возвращает prComplete в
случае, если Input может полностью удовлетворить указанной
картинке. Возвращает prIncomplete в случае, если Input со-
держит данные, соответствующие указанной картинке, но не
полностью.
В Таблице 19.41 показаны символы, используемые при
создании картинок форматов.
Таблица 19.41. Символы картинки формата
-----------------------------------------------------------
Тип символа Символ Описание
-----------------------------------------------------------
Специальный # Вводить только цифру
? Вводить только букву
(не зависит от регистра)
& Вводить только букву,
преобразовывать в верхний регистр
@ Вводить любой символ
! Вводить любой символ,
преобразовывать в верхний регистр
Соответствие ; Взять следующий символ буквально
* Счетчик повторений
[] Опция
{} Операторы группы
' Набор альтернатив
Все остальные Берутся буквально
-----------------------------------------------------------
Store
procedure Store (var S: TStream);
Сохраняет объект картинки определителя допустимости в
потоке S, вызывая сначала метод Store, унаследованный от
TValidator, а затем записывает строку, на которую указывает
Pic.
-----------------------------------------------------------
TRadioButtons Dialogs
-----------------------------------------------------------
Объекты TRadioButtons- это кластеры, содержащие до
65536 управляющих элементов, из которых в любой момент вре-
мени может быть выбрана только одна "кнопка". Выбор невыб-
ранной "кнопки" будет автоматически освобождать ранее выб-
ранную кнопку. Этот объект наследует от TCluster большую
часть функций, включая Init, Load и Done. С "кнопками" с
зависимой фиксацией часто связаны объекты TLabel.
TRadioButtons интерпретирует наследуемое поле
TCluster.Value как номер "нажатой" кнопки. Номер первой
"кнопки" в кластере равен 0.
Методы
-----------------------------------------------------------
Draw
procedure Draw; virtual;
Переопределяемость: переопределяется редко.
Отображает "кнопки" в виде '( ) ', заключенном в пря-
моугольник.
Mark
function Mark(Item: Integer): Boolean; virtual;
Переопределяемость: никогда не переопределяется.
Возвращает значение True, если Item = Value, т.е. если
"кнопка" с номером Item представлена текущим значением поля
Value ("нажатая" кнопка).
См. также: TCluster.Value, TCluster.Mark
MovedTo
procedure MovedTo(Item: Integer); virtual;
Переопределяемость: не переопределяется.
Присваивает Value значение Item.
См. также: TCluster.MovedTo, TRadioButtons.Mark
Press
procedure Press(Item: Integer); virtual;
Переопределяемость: никогда не переопределяется.
Присваивает Value значение Item. Вызывается при нажа-
тии "кнопки" с номером Item.
SetData
procedure SetData(var Rec); virtual;
Переопределяемость: переопределяется редко.
Вызывает метод SetData, унаследованный от TCluster,
для установки поля Value, а затем устанавливает поле Sel
равным Value в случае, если выбранный элемент при запуске
представляет собой "нажатую" кнопку.
См. также: TCluster.SetData
Палитра
-----------------------------------------------------------
Объекты TRadioButtons используют CCluster-палитру,
назначенную по умолчанию для всех объектов кластера, для
отображения элементов с 16 по 18 стандартной палитры диало-
гового окна.
1 2 3 4
ЙННННСННННСННННСНННН»
CCluster є 16 і 17 і 18 і 18 є
ИННСНПННСНПННСНПННСНј
і і і і
Нормальный текст Щ і і АДДД Выбранная оперативная
Выделенный текст ДДДДДЩ і клавиша
АДДДДДДДД Обычная оперативная
клавиша
-----------------------------------------------------------
TRangeValidator Validate
-----------------------------------------------------------
Объект определителя диапазона допустимости показывает,
попадают ли данные, напечатанные пользователем, в заданный
целочисленный диапазон.
Поля
-----------------------------------------------------------------
Max
Max: Longint;
Max представляет собой максимально допустимое длинное
целое число в строке ввода.
Min
Min: Longint;
Min представляет собой минимально допустимое длинное
целое число в строке ввода.
Методы
-----------------------------------------------------------
Init
constructor Init (const AMin, AMax: Longint);
Создает объект определителя диапазона допустимости,
вызывая сначала конструктор Init, унаследованный от
TFilterValidator, передавая набор символов, содержащий
'0..9' и символы '+' и '-'. Устанавливает значение Min рав-
ным AMin, а Max равным AMax, устанавливая тем самым диапа-
зон допустимых длинных целых чисел.
См. также: TFilterValidator.Init
Load
constructor Load (var S: TStream);
Создает и загружает определитель диапазона допустимос-
ти из потока S, вызывая сначала конструктор Load, унаследо-
ванный от TFilterValidator, а затем считывая поля Min и
Max, введенные TRangeValidator.
См. также: TFilterValidator.Load
Error
procedure Error; virtual;
Выдает окно сообщений, указывающее на то, что введен-
ное значение не попало в указанный диапазон.
IsValid
function IsValid (var S: string): Boolean; virtual;
Преобразует строку S в целое число и возвращает значе-
ние True в случае, если результат удовлетворяет следующим
трем условиям:
- оно является допустимым целым числом;
- его значение больше или равно Min;
- его значение меньше или равно Max.
Если какое-либо из этих условий нарушается, то IsValid
возвращает False.
Store
procedure Store (var S: TStream);
Сохраняет определитель диапазона допустимости в потоке
S, вызывая сначала метод Store, унаследованный от
TFilterValidator, а затем записывает поля Min и Max, вве-
денные TRangeValidator.
См. также: TFilterValidator.Store
Transfer
function Transfer (var S: String;
Buffer: Pointer;
Flag: TVTransfer): Word; virtual;
Включает три функции DataSize, GetData и SetData, ко-
торые объект определителя диапазона допустимости может ис-
пользовать для связанной с ним строки ввода. Вместо уста-
новки и чтения значения вводимой числовой строки путем пе-
редачи строкового представление числа, Transfer может ис-
пользовать в качестве его записи данных Longint, что избав-
ляет программу от выполнения преобразования.
S представляет собой значение введенной строки, а
Buffer представляет собой запись данных, переданную строке
ввода. В зависимости от значения Flag, Transfer или уста-
навливает значение S равным значению числа из Buffer, или
устанавливает Buffer равным значению из S. Если Flag равно
vtSetData, то S устанавливается равным Buffer. Если Flag
равно vtGetData, то Buffer устанавливается равным S. Если
Flag равно vtDataSize, то Transfer не осуществляет ни чте-
ния, ни записи данных.
Transfer всегда возвращает размер переданных данных, в
данном случае размер Longint.
См. также: тип TVTransfer
-----------------------------------------------------------
TRect Objects
-----------------------------------------------------------
Поля
-----------------------------------------------------------
A
A: TPoint
A- это точка, определяющая левый верхний угол прямоу-
гольника на экране.
B
B: Point
В - это точка, определяющая правый нижний угол прямоу-
гольника на экране.
Методы
-----------------------------------------------------------------
Assign
procedure Assign(XA, YA, XB, YB: Integer);
Этот метод присваивает значения параметров полям точек
прямоугольника. XA становится A.X, XB становится B.X и т.д.
Contains
function Contains(P: TPoint): Boolean;
Возвращает значение True в случае, если прямоугольник
содержит точку P.
Copy
procedure Copy(R: TRect);
Copy устанавливает все поля равными полям прямоуголь-
ника R.
Empty
function Empty: Boolean;
Возвращает значение True, если прямоугольник пустой,
т.е. не содержит символьного пространства. Это означает,
что поля A и B равны.
Equals
function Equals(R: TRect): Boolean;
Возвращает True, если R равен данному прямоугольнику.
Grow
procedure Grow(ADX, ADY: Integer);
Изменяет размер прямоугольника, вычитая ADX из A.X, и
добавляя ADX к B.X, вычитая ADY из A.Y и добавляя ADY к
B.Y.
Intersect
procedure Intersect(R: TRect);
Изменяет положение и размер области до области, опре-
деленной пересечением текущей области и R.
Move
procedure Move(ADX, ADY: Integer);
Перемещает прямоугольник, добавляя ADX к A.X и B.X и
добавляя ADY к A.Y и B.Y.
Union
procedure Union(R: TRect);
Изменяет прямоугольник до его объединения с прямоу-
гольником R; т.е. до наименьшего прямоугольника, содержаще-
го этот объект и R.
-----------------------------------------------------------
Тип TReplaceDialogRec Editors
-----------------------------------------------------------
Описание:
TReplaceDialogRec = record
Find: String [80];
Replace: String [80];
Options: Word;
end;
Функция: Диалоговые окна поиска и замены, вызванные
EditorDialog при передаче ему edReplace, используют указа-
тель на TReplaceDialogRec в качестве второго параметра.
Find и Replace содержат строки, заданные по умолчанию, для
поиска и замены, соответственно. Options содержит некоторую
комбинацию констант флагов редактора efXXXX, описывающих
то, как будет происходить поиск и замена.
См. также: тип TEditorDialog
-----------------------------------------------------------
TResourceCollection Objects
-----------------------------------------------------------
Объект TResourseCollection является производным от
TStringCollection, и используется с TSourseFile для реали-
зации наборов ресурсов. Файл ресурсов - это поток, который
индексируется ключевыми строками. Следовательно, каждый
элемент ресурса имеет целое поле Pos и строковое поле Key.
Переопределяемость методов TResourseCollection главным об-
разом связана с обработкой дополнительных строк в его эле-
ментах.
TResourseCollection используется внутри объектов
TResourseFile для поддержания индекса файла ресурсов.
-----------------------------------------------------------
TResourceFile Objects
-----------------------------------------------------------
Объект TResourseFile реализует поток, который может
индексироваться ключевыми строками. Когда объекты сохраня-
ются в файле ресурса, используя TResourseFile.Put, задается
ключевая строка, которая идентифицирует этот объект. Объект
может быть позже получен обратно с указанием этой ключевой
строки в вызове TResourseFile.Get.
Для обеспечения быстрого и эффективного доступа к объ-
ектам, хранящимся в файле ресурса, TResourseFile хранит
ключевые строки в отсортированном наборе строк (с использо-
ванием типа TResourseCollection) вместе с положением и раз-
мером данных этого ресурса в файле ресурса.
Как и в случае с потоками, типы объектов, записываемые
и читаемые из файла ресурсов, должны быть зарегистрированы
с помощью RegisterType.
Поля
-----------------------------------------------------------
Modified (чтение/запись)
Modified: Boolean;
Установлен равным значению True, если файл ресурса был
изменен.
См. также: TResource.Flush
Stream (только для чтения)
Stream: PStream;
Указатель на поток, связанный с этим файлом ресурса.
Методы
-----------------------------------------------------------
Init
constructor Init(AStream: Pstream);
Инициализирует файл ресурса, используя поток, заданный
AStream, и устанавливает поле Modified равным False. Напри-
мер:
ResFile.Init(New(TBufStream, Init("MYAPP.RES',
stOpenRead,1024)));
Во время инициализации Init ищет в заголовке файла ре-
сурсов текущее положение потока. Формат заголовка файла ре-
сурсов имеет вид:
type
TResFileHeader = record
Signature: array[1..4] of Char;
ResFileSize: Longint;
IndexOffset: Longint;
end;
где Signature содержит 'FBPR', ResFileSize содержит размер
всего файла ресурсов, за исключением полей Signature и
ResFileSize (т.е. размер файла ресурса -8 байт), а
IndexOffset содержит смещение набора индексов от начала за-
головка.
Если Init не находит заголовка файла ресурса в текущей
позиции AStream, то он считает, что создается новый файл
ресурса, и создает пустой индекс.
Если Init видит метку.EXE файла в текущей позиции по-
тока, то он просматривает поток до конца файла .EXE и ищет
заголовок файла ресурса здесь. Аналогично Init будет про-
пускать оверлейный файл, добавленный к .EXE файлу (так же,
как OvrInit пропускает файл ресурса). Это означает, что Вы
можете добавить оверлейный файл и файл ресурса (в любом по-
рядке) в конец выполняемого файла. EXE Вашей программы.
(Именно это делает исполняемый файлом интегрированной среды
TURBO.EXE).
См. также: TResourceFile.Done
Done
destructor Done; virtual;
Переопределяемость: никогда не переопределяется.
Сбрасывает файл ресурса, используя
TResourseFile.Flush, а затем освобождает индекс и поток, на
который указывает поле Stream.
См. также: TResourceFile.Init, TResourceFile.Flush
Count
function Count: Integer;
Возвращает число ресурсов, сохраненных в файле ресур-
сов.
См. также: TResourceFile.KeyOf
Delete
procedure Delete(Key: String);
Удаляет ресурс, индексируемый ключом Key, из файла ре-
сурсов. Пространство, ранее занятое удаленным ресурсом, не
используется. Вы можете вновь задействовать эту память, ис-
пользуя SwitchTo для создания упакованной копии файла в но-
вом потоке.
См. также: TResourceFile.SwitchTo
Flush
procedure Flush;
Если файл ресурса был изменен (проверяется значение
поля Modified), то Flush сохраняет обновленный индекс в
конце потока и обновляет заголовок ресурса в начале потока.
Затем Modified устанавливается равным False.
См. также: TResourceFile.Done, TResourceFile.Modified
Get
function Get(Key: String): PObject;
Ищет Key в индексе файла ресурсов. Возвращает значение
nil в случае, если ключ не найден. В противном случае, про-
изводит поиск до позиции, заданной индексом, и вызывает
Stream^.Get для создания и загрузки объекта, описанного с
помощью Key. Например:
DeskTop^.Insert(ValidView(ResFile.Get('EditorWindow')));
См. также: TResourceFile.KeyAt, TResourceFile.Put
KeyAt
function KeyAt(I: Integer): String;
Возвращает ключевую строку для ресурса с номером i в
вызывающем файле ресурса. Индекс первого ресурса равен 0, а
индекс последнего ресурса равен TResourseFile.Count-1. Ис-
пользуя Count и KeyAt, можно последовательно обработать все
ресурсы в файле ресурса.
См. также: TResourceFile.Count
Put
procedure Put(Item: PObject; Key: String);
Добавляет объект, заданный Р, в файл ресурса с ключе-
вой строкой, заданной в Key. Если индекс содержит Key, то
новый объект замещает старый. Объект добавляется в конец
существующих объектов файла ресурса с использованием
Stream^.Put
См. также: TResourceFile.Get
SwitchTo
function SwitchTo(AStream: PStream;
Pack: Boolean): PStream;
Переключает файл ресурса из его потока в поток, пере-
данный в AStream, и возвращает в качестве результата указа-
тель на исходный поток.
Если параметр Pack равен True, то перед записью в но-
вый поток он будет отбрасывать пустое и неиспользуемое
пространство из файла ресурса. Это единственный способ
сжать файл ресурса. Копирование с параметром Pack = False
будет выполняться быстрее, но без сжатия.
-----------------------------------------------------------
TScrollBar Views
-----------------------------------------------------------
Поля
-----------------------------------------------------------
ArStep (только для чтения)
ArStep: Integer;
ArStep представляет собой число, добавляемое или вычи-
таемое из поля Value полосы прокрутки в случае, когда об-
ласть стрелок выбрана мышью (sbLeftArrow, sbRightArrow,
sbUpArrow, sbDownArrow) или обнаружены эквивалентные нажа-
тия клавиш. По умолчанию, TScrollBar.Init устанавливает
ArStep равным 1.
См. также: TScrolBar.SetStep, TScrollBar.SetParam,
TScrollBarScrollStep
Max (только для чтения)
Max: Integer;
Поле Max представляет собой максимальное значение поля
Va- lue. По умолчанию, TScrollBar устанавливает Max равным
0.
См. также: TScrollBar.SetRange, TScrollBar.SetParams
Min (только для чтения)
Min: Integer;
Поле Min представляет собой минимальное значение поля
Value. По умолчанию, TScrollBar устанавливает Min равным 0.
См. также: TScrollBar.SetRange, TScrollBar.SetParams
PgStep (только для чтения)
PgStep: Integer;
PgStep представляет собой число, добавляемое или вычи-
таемое из поля Value полосы прокрутки, когда событие пере-
щелкивания "мыши" возникает в любой области страницы
(sbPageLeft, sbPageRight, sbPageUp, sbPageDown) или обнару-
живаются эквивалентные нажатия клавиш (Ctrl-ц, Ctrlч, PgUp,
PgDn). По умолчанию, TScrollBar.Init устанавливает PgStep
равным 1. PgStep можно изменять при помощи
TScrollBar.SetStep, TScrollBar.SetParams и
TScroller.SetLimit.
См. также: TScrollBar.SetStep, TScrollBar.SetParams,
TScroller.SetLimit, TScrollBar.ScrollStep
Value (только для чтения)
Value : Integer;
Поле Value представляет собой текущую позицию индика-
тора полосы прокрутки. Этот маркер, выделенный специальным
цветом, перемещается по полосе прокрутки, указывая относи-
тельную позицию (горизонтальную или вертикальную, в зависи-
мости от типа полосы прокрутки) видимого текста относитель-
но всего текста, доступного для просмотра. Многие события
могут прямо или косвенно изменять значение Value (такие,
как отметки с помощью "мыши" на элементах полосы прокрутки,
изменение размера окна или изменение текста при прокрутке).
Аналогично, изменения в Value могут потребовать запуска
других событий. По умолчанию TScroolBar.Init устанавливает
Value равным 0.
См. также: TScrollBar.SetValue, TScrollBar.SetParams,
TScrollBar.ScrollDraw, TScroller.HandleEvent,
TScrollBar.Init
Методы
-----------------------------------------------------------
Init
constructor Init(var Bounds: TRect);
Создает и инициализирует полосу прокрутки с границами
Bo- unds, вызывая конструктор Init, унаследованный от
TView. Value, Max и Min устанавливаются равными 0. PgStep и
ArStep устанавливаются равными 1. Формы элементов полосы
прокрутки устанавливаются равными определенным по умолчанию
в TScrollChars.
Если Bounds задает Size.X = 1, то Вы получите верти-
кальную полосу прокрутки, в противном случае - горизонталь-
ную. Вертикальные полосы прокрутки имеют поле GrowMode,
равное gfGrowLoX + gfGrowHiX + gfGrowHiY; вертикальные по-
лосы прокрутки имеют поле GrowMode, равное gfGrowLoY +
gfGrouHiX + gfGrowHiY.
Load
constructor Load(var S: TStream);
Создает и загружает полосу прокрутки из потока S, вы-
зывая конструктор Load, унаследованный от TView, а затем
считывая 5 целочисленных полей с помощью метода S.Read.
См. также: TScrollBar.Store
Draw
procedure Draw; virtual;
Переопределяемость: никогда не переопределяется.
Рисует полосу прокрутки в зависимости от текущих зна-
чений Bounds, Value и палитры.
См. также: TScrollBar.ScrollDraw, TScrollBar.Value
GetPalette
function GetPalette: PPalette; virtual;
Переопределяемость: не переопределяется.
Возвращает указатель на CScrollBar, палитру, использу-
емую по умолчанию, для полосы прокрутки.
HandleEvent
procedure HandleEvent(var Event: TEvent); virtual;
Переопределяемость: никогда не используется.
Обрабатывает события полосы прокрутки, вызывая метод
Handle- Event, унаследованный от TView, затем анализируя
Event.What. События "мыши" передаются владельцу полосы
прокрутки (см. функцию Message), который должен изменять
полосы прокрутки, например, прокруткой текста. Метод
TScrollBar.HandleEvent также определяет, какая часть полосы
прокрутки была выбрана "мышью" (или эквивалентной комбина-
цией клавиш). Поле Value настраивается в соответствии с те-
кущими значениями ArStep и PgStep, и индикатор полосы прок-
рутки перерисовывается.
См. также: TView.HandleEvent
ScrollDraw
procedure ScrollDraw; virtual;
Переопределяемость: используется редко.
Метод ScrollDraw вызывается каждый раз при изменении
значения поля Value. По умолчанию ScrollDraw посылает сооб-
щение cmScrollBarChanged владельцу полосы прокрутки:
Message(Owner, evBoadcast, cmScrollBarChanged, @Self);
См. также: TScrollBar.Value, функция Message
ScrollStep
function ScrollStep(Part: Integer): Integer; virtual;
Переопределяемость: не переопределяется.
По умолчанию ScrollStep возвращает положительное или
отрицательное значение шага, в зависимости от части полосы
прокрутки, заданной в Part, и текущих значений ArStep и
PgStep. Аргумент Part должен быть одной из констант частей
полосы прокрутки sbXXXX, описанных в Главе 19.
См. также: TScrollBar.SetStep, TScrollBar.SetParams,
константы sbXXXX
SetParams
procedure SetParams(AValue, AMin, AMax,
APgStep, AArStep: Integer);
Метод SetParams устанавливает поля Value, Min, Max,
PgStep и ArStep равными значениям, переданным в AValue,
AMin, AMax, APgStep и AArStep. Если аргументы конфликтуют,
то выполняются некоторые настройки. Например, Min не может
быть больше Max, поэтому если AMax < AMin, то Max устанав-
ливается равным Min. Value должно лежать в диапазоне [Min,
Max], поэтому, если Value < AMin, то Value устанавливается
равным Min; если AValue > AMax, то Value устанавливается
равным Max. DrawView отображает полосу прокрутки заново.
Если Value изменяется, то будет вызвана ScrollDraw.
См. также: TView.DrawView, TScrollBar.ScrollDraw,
TScrollBar.SetRange, TScrollBar.SetValue
SetRange
procedure SetRange(AMin, AMax: Integer);
Метод SetRange задает допустимый диапазон для поля
Value, устанавливая Min и Max равными AMin и AMax. SetRange
вызывает SetParams, поэтому DrawView и ScrollBar будут вы-
зываться в случае, если изменения требуют перерисовки поло-
сы прокрутки.
См. также: TScrollBar.SetParams, TScrollBar.ScrollStep
SetStep
procedure SetStep(APgStep, AArStep: Integer);
SetStep устанавливает поля PgStep и ASrStep равным
APgStep и AArStep, соответственно. Этот метод вызывает
SetParams с остальными аргументами, равными их текущим зна-
чениям.
См. также: TScrollBar.SetParams, TScrollBar.ScrollStep
SetValue
procedure SetValue(AValue: Integer);
Метод SetValue устанавливает поле Value равным AValue,
вызывая SetParams с остальными аргументами, равными их те-
кущим значениям. DrawView и ScrollDraw вызываются в случае,
если этот вызов изменяет значение Value.
См. также: TView.DrawView, TScrollBar.ScrollDraw,
TScrollBar.SetRange, TScrollBar.SetValue
SetRange
procedure SetRange(AMin, AMax: Integer);
Метод SetRange задает допустимый диапазон для поля
Value, устанавливая Min и Max равными AMin и AMax. SetRange
вызывает SetParams, поэтому DrawView и ScrollBar будут вы-
зываться в случае, если изменения требуют перерисовки поло-
сы прокрутки.
См. также: TScrollBar.SetParams, TScrollBar.ScrollStep
SetStep
procedure SetStep(APgStep, AArStep: Integer);
SetStep устанавливает поля PgStep и ASrStep равным
APgStep и AArStep, соответственно. Этот метод вызывает
SetParams с остальными аргументами, равными их текущим зна-
чениям.
См. также: TScrollBar.SetParams, TScrollBar.ScrollStep
SetValue
procedure SetValue(AValue: Integer);
Метод SetValue устанавливает поле Value равным AValue,
вызывая SetParams с остальными аргументами, равными их те-
кущим значениям. DrawView и ScrollDraw вызываются в случае,
если этот вызов изменяет значение Value.
См. также: TScrollBar.SetParams, TView.DrawView,
TScrollBar.ScrollDraw, TScroller.ScrollTo
Store
procedure Store(var S:TStream);
Сохраняет объект TScrollBar в потоке S, вызывая снача-
ла метод Store, унаследованный от TView, а затем записывая
5 целочисленных полей в поток, используя S.Write.
См. также: TScrollBar.Load
Палитра
-----------------------------------------------------------
Объекты полосы прокрутки используют палитру (опреде-
ленную по умолчанию) CScrollBar, для отображения 4 и 5-го
элементов стандартной палитры прикладной программы.
1 2 3
ЙНННСНННСННН»
CScrollBar є 4 і 5 і 5 є
ИНСНПНСНПНСНј
Страница ДДДДДДЩ і АДДДДД Индикатор
Стрелки ДДДДДДДДДДЩ
-----------------------------------------------------------
Тип TScrollChars Views
-----------------------------------------------------------
Описание: TScrollChars = array[0..4] of Char;
Функция: Массив, представляющий символы, используемые
для рисования TScrollBar.
См. также: TScrollBar
-----------------------------------------------------------
TScroller Views
-----------------------------------------------------------
TScroller задает виртуальное окно для прокрутки отоб-
ражаемого элемента, имеющего больший размер. Это означает,
что этот отображаемый элемент позволяет пользователю прос-
матривать большой отображаемый элемент в определенных гра-
ницах. Он задает смещение, с которого метод Draw заполняет
видимую область. Все методы, необходимые для реализации
прокрутки с помощью полосы прокрутки и клавиатуры, встроены
в TScroller.
Этот базовый элемент прокрутки обеспечивает полезную
основу для прокрутки таких отображаемых элементов, как
текстовые отображаемые элементы.
Поля
-----------------------------------------------------------
Delta (только для чтения)
Delta: TPoint;
Содержит Х (горизонтальную) и Y (вертикальную) состав-
ляющие положения элемента прокрутки относительно виртуаль-
ного отображаемого элемента. Автоматическая прокрутка дос-
тигается изменением одной или обоих компонент в ответ, нап-
ример, на события полосы прокрутки, изменяющие значения по-
ля Value. "Ручная" прокрутка изменяет значение Delta, отоб-
ражает изменения в поле Value полосы прокрутки и приводит к
обновлению индикаторов полосы прокрутки.
См. также: TScroller.ScrollDraw, TScroller.ScrollTo
HScrollBar (только для чтения)
HScrollBar: PScrollBar;
Указывает на горизонтальную полосу прокрутки, связан-
ную с этим элементом прокрутки. Если такой полосы прокрутки
нет, то HScroolBar равен nil.
Limit (только для чтения)
Limit: TPoint;
Limit.X и Limit.Y- это максимально допустимые значения
для Delta.X и Delta.Y.
См. также: TScroller.Delta
VScrollBar (только для чтения)
VScrollBar: PScrollBar;
Указывает на вертикальную полосу прокрутки, связанную
с этим элементом прокрутки. Если такой полосы прокрутки
нет, то VScrollBar равно nil.
Методы
-----------------------------------------------------------
Init
constructor Init(var Bounds: TRect;AHScrollBar,
AVScrollBar: PScrollBar);
Создает и инициализирует объект TScroller с заданным
размером и полосами прокрутки. Вызывает конструктор Init,
унаследованный от TView, для установки размера отображаемо-
го элемента. Options устанавливается равным ofSelectable, а
EventMask устанавливается равным evBroadcast. AHScrollBar
должен быть nil, если Вы не хотите иметь горизонтальную по-
лосу прокрутки; аналогично, AVScrollBar должен быть nil,
если Вы не хотите иметь вертикальную полосы прокрутки.
См. также: TView.Init, TView.Options, TView.EventMask
Load
constructor Load(var S: TStream);
Загружает отображаемый элемент прокрутки из потока S,
вызывая сначала конструктор Load, унаследованный от TView,
а затем восстанавливает указатели на полосы прокрутки, ис-
пользуя GetPeer- ViewPtr, и читает поля Delta и Limit, ис-
пользуя S.Read.
См. также: TScroller.Store
ChangeBounds
procedure ChangeBounds(var Bounds: TRect); virtual;
Переопределяемость: не переопределяется.
Изменяет размер элемента прокрутки, вызывая SetBounds.
При необходимости элемент и полосы прокрутки перерисовыва-
ются вызовом DrawView и SetLimit.
См. также: TView.SetBounds, TView.DrawView,
TScroller.SetLimit
GetPalette
function GetPalette: PPalette; virtual;
Переопределяемость: иногда переопределяется.
Возвращает указатель на используемую по умолчанию па-
литру элемента прокрутки CScroller.
HandleEvent
procedure HandleEvent(var Event:TEvent);virtual;
Переопределяемость: используется редко.
Обрабатывает большинство событий, вызывая метод
HandleEvent, унаследованный от TView. События-извещения с
командой cmScrollBarChanged, если они пришли от HScrollBar
или VScrollBar, приводят к вызову TScroller.ScrollDraw.
См. также: TView.HandleEvent, TScroller.ScrollDraw
ScrollDraw
procedure ScrollDraw; virtual;
Переопределяемость: не переопределяется.
Проверяет, удовлетворяет ли Delta соответствующим по-
зициям полос прокрутки. Если нет, то Delta устанавливается
равным правильному значению, и вызывается DrawView для пе-
рерисовки элемента прокрутки.
См. также: TView.DrawView, TScroller.Delta,
TScroller.HscrollBar, TScroller.VScrollBar
ScrollTo
procedure ScrollTo(X, Y: Integer);
Устанавливает полосы прокрутки равными (X, Y), вызывая
HScrollBar^.SetValue(X) и VScrollBar^.SetValue(Y), и пере-
рисовывает отображаемый элемент, вызывая DrawView.
См. также: TView.DrawView, TScroller.SetValue
SetLimit
procedure SetLimit(X, Y: Integer);
Устанавливает полосы прокрутки равными (X, Y), вызывая
HScrollBar^.SetValue(X) и VScrollBar^.SetValue(Y), и пере-
рисовывает отображаемый элемент, вызывая DrawView.
См. также: TView.DrawView, TScroller.SetValue
SetLimit
procedure SetLimit(X, Y: Integer);
Устанавливает Limit.X равным X, а Limit.Y равным Y, а
затем вызывает HScrollBar^.SetParams и
VScrollVar^.SetParams (если эти полосы прокрутки существу-
ют), чтобы настроить их поля Max. Эти вызовы могут привести
к перерисовке полосы прокрутки. Наконец, вызывается
DrawView для повторного отображения элемента прокрутки (ес-
ли это необходимо).
См. также: TScroller.Limit, TScroller.HScroller,
TScroller.VScrollBar, TScrollBar.SetParams
SetState
procedure SetState(AState: Word;
Enable: Boolean); virtual;
Переопределяемость: используется редко.
Этот метод вызывается каждый раз при изменении состоя-
ния элемента прокрутки. Вызывает метод SetState, унаследо-
ванный от TView, для установки или сброса флагов состояния
из AState. Если новое состояние- sfSelected and sfActive,
то SetState отображает полосы прокрутки, в противном случае
они "скрываются" (становятся невидимыми).
См. также: TView.SetState
Store
procedure Store(var S: TStream);
Записывает элемент прокрутки в поток S, вызывая снача-
ла метод Store, унаследованный от TView, а затем сохраняет
ссылки на полосы прокрутки, используя PutPeerViewPtr, и,
наконец, записывает значения Delta и Limit, с помощью
S.Write.
См. также: TScroller.Load, TStream.Write
Палитра
-----------------------------------------------------------
Объекты элемента прокрутки используют палитру, опреде-
ленную по умолчанию, CScroller, для отображения 6 и 7 эле-
ментов стандартной палитры окна.
1 2
ЙНННСННН»
CScroller є 6 і 7 є
ИНСНПНСНј
Обычный ДДДДДДЩ АДДДД Подсвеченный
-----------------------------------------------------------
Тип SearchRec StdDlg
-----------------------------------------------------------
Описание: TSearchRec = record
Attr: Byte;
Time: Longint;
Size: Longint;
Name: string [12];
end;
Функция: Записи TSearchRec используются в объектах на-
бора файлов для хранения информации о собранных файлах.
TSearchRec реально представляет собой подмножество типа
SearchSet, определенного в модуле Dos, с отброшенными 21
байтами неиспользованной информации. Attr представляет со-
бой байт битов, содержащий атрибуты файлов, как это опреде-
лено в модуле Dos. Time представляет собой отметку даты и
времени DOS, которую можно расшифровать с помощью процедуры
UnpackTime из модуля Dos. Size- это размер файла в байтах.
Name- это строка, содержащая имя файла.
См. также: модуль Dos в описании языка
-----------------------------------------------------------
Тип TSItem Dialogs
-----------------------------------------------------------
Описание: TSItem = record
Value: PString;
Next: PSItem;
end;
Функция: Запись типа TSItem обеспечивает односвязный
список из PString. Подобные списки могут быть полезны во
многих программах на Turbo Vision, где не требуется полная
гибкость наборов строк (см. TCluster, например). Функция
NewSItem предназначена для добавления записей в список
TSItem.
-----------------------------------------------------------
TSortedCollection Objects
-----------------------------------------------------------
Объект TSortedCollection является специализированным
производным от TCollection, и реализует набор, отсортиро-
ванный по ключу. Сортировка производится методом Compare,
который Вы переопределяете, чтобы задать свое определение
упорядочивания элементов. Когда новые элементы добавляются,
они автоматически вставляются в порядке, заданном методом
Compare. Элементы можно находить, используя метод Search. В
случае, если Compare требует дополнительной информации, пе-
реопределите виртуальный метод KeyOf, возвращающий указа-
тель для Compare.
TSortedCollection осуществляет создание отсортирован-
ных наборов как с дублированием ключей, так и без него. По-
ле Duplicates определяет, допускается ли дублирование. По
умолчанию, оно равно False, что указывает на тот факт, что
дублирование запрещено, однако после создания отсортирован-
ного набора можно установить Duplicates равным True для то-
го, чтобы допустить в наборе элементы с повторяющимися клю-
чами.
Поле
-----------------------------------------------------------
Duplicates: Boolean;
Определяет, допускаются ли в наборе элементы с повто-
ряющимися ключами. По умолчанию Duplicates равно False, и
вызов Insert для элемента, ключ которого совпадает с уже
существующим, приводит к тому, что новый элемент не вводит-
ся в набор; набор хранит только первый элемент с данным
значением ключа.
Если установить значение Duplicates равным True, то
набор вводит элементы с повторяющимися ключами непосредс-
твенно перед первым существующим элементом с тем же значе-
нием ключа.
См. также: TSortedCollection.Insert,
TSortedCollection.Search
Методы
-----------------------------------------------------------
Load
consrtuctor Load (var S: TStream);
Создает и загружает отсортированный набор из потока S,
вызывая сначала конструктор Load, унаследованный от
TCollection, а затем считывает поле Duplicates, введенное
TSortedCollection.
См. также: TCollection.Load
Compare
function Compare(Key1, Key2: Pointer): Integer;
virtual;
Переопределяемость: всегда переопределяется.
Compare- это абстрактный метод, который должен быть
переопределен во всех порожденных типах. Compare должен
сравнивать 2 ключевых значения и возвращать результат:
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
-1 если Key1 < Key2
0 если Key1 = Key2
1 если Key1 > Key2
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Key1 и Key2- это значения указателей, извлеченных из
соответствующего набора элементов методом
TSortedCollection.KeyOf. Метод TSortedCollection.Search ре-
ализует двоичный поиск элементов набора, используя Compare
для сравнения элементов.
Внимание! Убедитесь в том, чтобы Compare вернула все
возможные значения: -1, 0 и 1. Даже наборы, которые никогда
не содержат совпадающих элементов, должны возвращать 0 в
случае, если Compare получает совпадающие ключи. Если
Compare никогда не возвращает 0, то Search не будет рабо-
тать правильно.
См. также: TSortedCollection.KeyOf,
TSortedCollection.Compare
IndexOf
function IndexOf(Item: Pointer):Integer; virtual;
Переопределяемость: не переопределяется.
Использует TSortedCollection.Search для нахождения ин-
декса элемента Item. Если элемент не содержится в наборе,
то IndexOf возвращает -1. Действительная реализация
TSortedCollection.IndexOf имеет вид:
if Search(KeyOf(Item), I) then IndexOf := I
else IndexOf := -1;
См. также: TSortedCollection.Search
Insert
procedure Insert(Item: Pointer); virtual;
Переопределяемость: никогда не используется.
Вызывает TSortedCollection.Search для определения то-
го, существует ли уже элемент, и если нет, то куда его вво-
дить. Если элемент с ключом Item не найден в наборе, то он
вставляется в позицию, определенную текущим индексом. Если
элемент с таким же ключом существует, но Duplicates равно
False, то набор игнорирует парный элемент. Если Duplicates
равно True, то набор вставляет Item перед первым существую-
щим элементом с тем же ключом.
Реализация TSortedCollection.Insert имеет вид:
if nоt Search(KeyOf(Item), I) then AtInsert(I, Item)
См. также: TSortedCollection.Search
KeyOf
function KeyOf(Item: Pointer): Pointer; virtual;
Переопределяемость: иногда переопределяется.
Для данного элемента Item в наборе метод KeyOf должен
возвращать соответствующий ключ элемента. По умолчанию
TSortedCollection.KeyOf просто возвращает Item. KeyOf пере-
определяется в случае, когда ключ элемента не совпадает с
элементом.
См. также: TSortedCollection.IndexOf
Search
function Search(Key: Pointer;var Index: Integer):
Boolean; virtual;
Переопределяемость: используется редко.
Возвращает значение True в случае, если элемент, за-
данный ключом Key, не найден в отсортированном наборе. Если
элемент найден, то Index устанавливается равным найденному
индексу. В противном случае Index устанавливается равным
индексу, куда будет помещаться элемент при вставке. При по-
иске указанного элемента Search пользуется методом Compare.
См.также: TSortedCollection.Insert,
TSortedCollection.Compare
Store
procedure Store (var S: TStream);
Записывает отсортированный набор в поток S, вызывая
сначала метод Store, унаследованный от TCollection, а затем
записывает поле Duplicates, введенное TSortedCollection.
См. также: TCollection.Store
-----------------------------------------------------------
Объект TSortedListBox StdDlg
-----------------------------------------------------------
TSortedListBox представляет собой TListBox, который
предполагает, что вместо просто TCollection он имеет
TSortedColection. Он будет осуществлять расширенный поиск
во всем его содержимом. Он используется в качестве пред-
шественника окна-списка файлов TFileList.
Поля
-----------------------------------------------------------
SearchPos
SearchPos: Word;
SearchPos указывает, символа в какой позиции анализи-
руется при расширенном поиске.
ShiftState
ShiftState: Byte;
ShiftState содержит текущее состояние клавиш клавиату-
ры "Shift" для множественного выбора.
Методы
-----------------------------------------------------------
Init
constructor Init (var Bounds:TRect;ANumCols:Word;
AScrollBar: PScrollBar);
Создает отсортированное окно-список, вызывая конструк-
тор Init, унаследованный от TListBox, передавая ограничива-
ющий прямоугольник Bounds, количество столбцов ANumCols и
горизонтальную полосу прокрутки AScrollBar. Поле ShiftState
инициализируется нулем, и курсор показывается над первым
элементом.
См. также: TListBox.Init
HandleEvent
procedure HandleEvent (var Event: TEvent); virtual;
Обрабатывает обычные для окна-списка события, такие,
как нажатия кнопок мыши и нажатия клавиш управления курсо-
ром, вызывая метод HandleEvent, унаследованный от TListBox.
Другие события клавиатуры обрабатываются напрямую для
реализации расширенного поиска. Это означает, что при нажа-
тии пользователем буквенной клавиши, фокус получает первое
имя, начинающееся с этой буквы. При нажатии другой символь-
ной клавиши фокус переместится на первый элемент, второй
символ которого совпадает с введенным символом, если тако-
вой существует; в противном случае фокус остается на преж-
нем месте. Этот процесс продолжается до тех пор, пока поль-
зователь не выберет элемент или не переместит фокус к дру-
гому элементу с помощью мыши или клавиш управления курсо-
ром, в случае чего процесс расширенного поиска начинается
заново.
Поле SearchPos отслеживает, совпадение какого символа
проверяется в настоящий момент в процессе расширенного по-
иска. Нажатие клавиши Backspace возвращает процесс на один
символ назад, к элементу, выбранному набором предыдущего
символа.
GetKey
function GetKey (var S: String): Pointer; virtual;
Окна с отсортированными списками требуют ключей, по
которым сортировать элементы. GetKey возвращает указатель
на ключ для строки S. По умолчанию GetKey возвращает указа-
тель на S. В зависимости от стратегии сортировки, которую
используют введенные Вами объекты, Вам, возможно, понадо-
бится переопределить GetKey, чтобы он возвращал другой
ключ.
NewList
procedure NewList (AList: PCollection); virtual;
Заменяет отсортированный набор, на который указывает
List, вызывая метод NewList, унаследованный от TListBox,
который освобождает List и устанавливает значение List рав-
ным AList, который должен указывать на новый отсортирован-
ный набор. После этого NewList переустанавливает SearchPos
в 0, так, что расширенные поиски в новом списке будут начи-
наться с первого символа в строке элемента.
См. также: TListBox.NewList
-----------------------------------------------------------
TStaticText Dialogs
-----------------------------------------------------------
Объекты TStaticText представляют простейшие отображае-
мые элементы: они содержат фиксированный текст и игнорируют
все события, переданные им. Они используются как сообщения
или пассивные метки. Потомки TStaticText выполняют более
активную роль.
Поля
-----------------------------------------------------------
Text (только для чтения)
Text: PString;
Указатель на строку текста, которая должна выводиться
в отображаемом элементе.
Методы
-----------------------------------------------------------
Init
constructor Init(var Bounds: TRect; AText: String);
Создает объект со статическим текстом заданного разме-
ра, вызывая сначала конструктор Init, унаследованный от
TView, а затем устанавливая Text равным NewStr(AText).
См. также: TView.Init
Load
constructor Load (var S: TStream);
Создает и инициализирует объект статического текста из
потока S, вызывая сначала конструктор Load, унаследованный
от TView, а затем считывает Text с помощью S.ReadStr. Ис-
пользуется совместно с TStaticText.Store для сохранения и
чтения отображаемого элемента со статическим текстом из по-
тока.
См. также: TViewLoad, TStaticText.Store,
TStream.ReadStr
Done
destructor Done; virtual;
Переопределяемость: используется редко.
Освобождает строку Text, а затем вызывает деструктор
Done, унаследованный от TView, для уничтожения объекта.
Draw
procedure Draw; virtual;
Переопределяемость: переопределяется редко.
Рисует строку текста внутри отображаемого элемента
(при необходимости осуществляется перенос). Ctrl-M в тексте
указывает на начало новой строки. Если строка начинается с
Ctrl-C, то она центрируется в отображаемом элементе.
GetPalette
function GetPalette: PPalette; virtual;
Переопределяемость: иногда переопределяется.
Возвращает указатель на палитру, установленную по
умолчанию, CStaticText.
GetText
procedure GetText (var S: String); virtual;
Переопределяемость: иногда переопределяется.
Возвращает в S строку, на которую указывает Text.
Store
procedure TStaticText.Store(var S: TStream);
Сохраняет объект TStaticText в потоке S, вызывая сна-
чала метод Store, унаследованный от TView, а затем считывая
Text с помощью S.WriteStr. Используется совместно с
TStaticText.Store для сохранения и чтения из потока отобра-
жаемого элемента со статическим текстом.
См. также: TStaticText.Load, TView.Store,
TStream.WriteStr
Палитра
-----------------------------------------------------------
Статический текст использует назначенную по умолчанию
палитру CStaticText для отображения 6-го элемента стандарт-
ной палитры диалогового окна.
1
ЙННН»
CStaticText є 6 є
ИНСНј
Цвет текста ДДДЩ
-----------------------------------------------------------
Тип TStatusDef Menus
-----------------------------------------------------------
Описание: TStatusDef = record
Next: PStatusDef;
Min, Max: Word;
Items: PStatusItem;
end;
Функция: Тип TStatusDef представляет собой определение
строки состояния. Поле Next указывает на следующий
TStatusDef в списке строк состояния или nil, если это пос-
ледняя строка состояния. Min и Max определяют диапазон кон-
текста подсказки, который соответствует строке состояния.
Items указывает на список пунктов строки состояния или nil,
если в строке состояния нет элементов.
Объект TStatusLine (отображаемый элемент строки состо-
яния) имеет указатель на список записей TStatusDef и будет
всегда отображать первую строку состояния, для которой те-
кущий контекст подсказки находится внутри диапазона Min и
Max. Программа Turbo Vision автоматически обновляет строку
состояния, вызывая TStatus- Line.Update из TProgram.Idle.
Записи TStatusDef создаются с помощью функции
NewStatusDef.
См. также: TStatusLine, TProgram.Idle, функция
NewStatusDef
-----------------------------------------------------------
Тип TStatusItem Menus
-----------------------------------------------------------
Описание: TStatusItem = record
Next: PStatusItem;
Text: PString;
KeyCode: Word;
Command: Word;
end;
Функция: Тип TStatusItem представляет собой элемент
строки состояния, который может быть видим или невидим.
Next указывает на следующий TStatusItem в списке элементов
строки состояния или nil, если это последний элемент. Text
указывает на строку, содержащую текст элемента строки сос-
тояния (такой, как 'Alt-X Exit') или nil, если элемент
строки состояния невидим (в этом случае элемент служит
только для определения клавиши активации). KeyCode содержит
скэн-код клавиши активации, связанной с элементом строки
состояния или 0, если элемент строки состояния не имеет
клавиши активации. Command содержит команду-событие (см.
константы cmXXX), генерируемую при выборе элемента строки
состояния.
Записи TStatusItem являются не только визуализаторами
элементов строки состояния, но они также используются для
определения клавиш активации, коды которых автоматически
преобразуются в команды. Метод TProgram.GetEvent вызывает
TStatusLine.HandleEvent для всех событий evKeyDown.
TStatusLine.HandleEvent сканирует текущую строку состояния
на предмет нахождения там элементов, содержащих данный код
клавиши, и если такой элемент находится, то он преобразует
это событие evKeyDown в событие evCommand со значением
Command, данным в TStatusItem.
Записи TStatusItem создаются с помощью функции
NewStatusKey.
См. также: TStatusLine, NewStatusKey,
TStatusLine.HandleEvent
-----------------------------------------------------------
TStatusLine Menus
-----------------------------------------------------------
Объект TStatusLine- это специализированный отображае-
мый элемент, обычно выводимый в нижней части экрана. Типич-
ная строка состояния отображает список доступных оператив-
ных клавиш, доступную память, время дня, текущий режим ре-
дактирования, а также подсказки пользователю. Отображаемые
элементы задаются в связанном списке методом InitStatusLine
объекта программы, вызываемым конструктором программы.
Отображаемая строка состояния зависит от контекста подсказ-
ки отображаемого элемента, имеющего фокус в текущий момент.
Как и полоса меню, и оперативная область экрана, строка
состояния обычно принадлежит группе TApplication.
Элементы строки состояния представляют собой записи
типа TStatusItem, которые содержат поля для текстовой стро-
ки, отображаемой в строке состояния, кода оперативной кла-
виши, (обычно это функциональная клавиша или комбинация
Alt-клавиша) и команды, генерируемой в случае, если отобра-
жаемый текст выбирается "мышью", или нажимается оперативная
клавиша.
Содержимое строки состояния зависит от контекста подс-
казки. Каждый объект строки состояния содержит связанный
список определений строки состояния Defs (типа TStatusDef),
которые определяют диапазон контекстов подсказки и список
элементов строки состояния, отображаемых в случае, если те-
кущий контекст подсказки находится в этом диапазоне. Кроме
того, в соответствии с текущим контекстом подсказки может
отображаться предопределенная строка и hint.
Поля
-----------------------------------------------------------
Defs (только для чтения)
Defs: PStatusDef;
Указатель на текущий связанный список записей типа
TStatusDef. Список для использования определяется текущим
контекстом подсказки.
См. также: TStatusDef, TStatusLine.Update,
TStatusLine.Hint
Items (только для чтения)
Items: PStatusItem;
Указатель на текущий связанный список записей типа
TStatusItem.
См. также: TStatusItem
Методы
-----------------------------------------------------------
Init
constructor Init(var Bounds: TRect;
ADefs: PStatusDef);
Создает объект строки состояния с размером Bounds, вы-
зывая конструктор Init, унаследованный от TView. Устанавли-
вает бит ofPreProcess в Options, EventMask устанавливается
таким, чтобы включать evBroadcast, а GrowMode устанавлива-
ется равным gfGrowLoY + gfGrowHiX + gfGrowHiY. Поле Defs
устанавливается равным ADefs. Если ADefs имеет значение
nil, то Items устанавливается равным nil, в противном слу-
чае Items устанавливается равным ADefs^.Items.
См. также: TView.Init
Load
constructor Load(var S: TStream);
Создает объект строки состояния и загружает его из по-
тока S, вызывая сначала конструктор Load, унаследованный от
TView, а затем читая из потока Defs и Items.
См. также: TView.Load, TStatusLine.Store
Done
destructor Done; virtual;
Переопределяемость: никогда не переопределяется.
Уничтожает все Items и Defs в объекте строки состоя-
ния, а затем вызывает TView.Done для уничтожения самого
объекта.
См. также: TView.Done
Draw
procedure Draw; virtual;
Переопределяемость: используется редко.
Отображает строку состояния, выводя строку Text для
каждого элемента строки состояния, если она существует, а
затем, вслед за полосой разделителя все подсказки, опреде-
ленные для текущего контекста подсказки.
См. также: TStatusLine.Hint
GetPalette
function GetPalette: PPalette; virtual;
Переопределяемость: иногда используется.
Возвращает указатель на используемую по умолчанию па-
литру CStatusLine.
HandleEvent
procedure HandleEvent(var Event: TEvent); virtual;
Переопределяемость: используется редко.
Обрабатывает большую часть событий, передаваемых стро-
ке состояния, вызывая метод HandleEvent, унаследованный от
TView, а затем проверяет 3 вида специальных событий:
- отметки с помощью "мыши", которые попадают внутрь
прямоугольника, занимаемого элементом строки состояния, и
генерирует командное событие с Event.What, равным Command,
для этого элемента строки состояния;
- события от клавиатуры сравниваются с полем KeyCode
каждого элемента; их совпадение вызывает командное событие
с Command этого элемента;
- coобщения с командой cmCommandSetChanged заставляют
строку состояния заново отображаться, чтобы отразить любые
оперативные клавиши, которые могут стать разрешены или зап-
рещены.
См. также: TView.HandleEvent
Hint
function Hint(AHelpCtx: Word): String; virtual;
Переопределяемость: часто используется.
По умолчанию Hint возвращает пустую строку. Он может
быть переопределен в объектах, порожденных строкой состоя-
ния, для возврата строки контекстно-зависимой подсказки для
параметра AHelpCtx. Непустая строка будет отображаться в
строке состояния после полосы-разделителя.
См. также: TStatusLine.Draw
Store
procedure Store(var S: TStream);
Сохраняет объект строки состояния в потоке S, вызывая
сначала метод Store, унаследованный от TView, а затем запи-
сывая в поток все определения состояния и связанные с ними
списки элементов. Сохраненный объект может быть восстанов-
лен с помощью метода TStatusLine.Load.
См. также: TView.Store, TStatusLine.Load
Update
procedure Update;
Выбирает допустимые элементы Items из списка в Defs в
зависимости от текущего контекста подсказки, а затем вызы-
вает DrawVi- ew для перерисовки строки состояния, если эти
элементы изменились.
См. также: TStatusLine.Defs
Палитра
-----------------------------------------------------------
Строки состояния используют палитру, определенную по
умолчанию, CStatusLine, для отображения элементов со 2 по
7-й стандартной палитры программы.
1 2 3 4 5 6
ЙННННСННННСННННСННННСННННСНННН»
CStatusLine є 2 і 3 і 4 і 5 і 6 і 7 є
ИННСНПННСНПННСНПННСНПННСНПННСНј
і і і і і і
Нормальный текст ДЩ і і і і АДД Выбранная
і і і і операт клавиша
Запрещенный текст ДДДДДЩ і і АДДДДДДД Выделенный
і і запрещенный
Текст оперативной ДДДДДДДДДДЩ АДДДДДДДДДДДД Выделенный
клавиши нормальный
-----------------------------------------------------------
TStream Objects
-----------------------------------------------------------
TStream - это общий абстрактный объект, обеспечивающий
полиморфический ввод-вывод устройства типа памяти. Вы може-
те создать порожденный объект потока, переопределяя вирту-
альные методы GetPos, GetSize, Read, Seek, Truncate и
Write. Turbo Vision делает это в порожденных потоках
TDosStream и TEmsStream. Для порожденного буферизованного
потока Вы должны также переопределять метод TStream.Flush.
Поля
-----------------------------------------------------------
ErrorInfo (чтение/запись)
ErrorInfo: Integer;
Содержит дополнительную информацию в случае, когда
Status не равен stOK. Для значений Status: stError,
stInitError, stReadError, stWriteError, ErrorInfo содержит
код ошибки DOS или EMS, если он доступен. Когда Status ра-
вен stGetError, ErrorInfo содержит идентификатор ID типа
объекта (поле ObjType в TStreamRec) незарегистрированного
типа объекта. Когда Status равен stPutError, ErrorInfo со-
держит смещение VMT в сегменте данных (поле VmtLink в
TStreamRec) незарегистрированного типа объекта.
Status (чтение/запись)
Status: Integer;
Указывает текущее состояние потока. Значение Status
представляет собой одну из констант stXXXX. Если Status не
равен stOK, то все операции над потоком приостанавливаются
до тех пор, пока не будет вызван Reset.
См. также: константы потока stXXXX
Методы
-----------------------------------------------------------
CopyFrom
procedure CopyFrom(var S: TStream; Count: Longint);
Копирует Count байт из потока S в вызывающий поток.
Например:
{создает копию всего потока}
NewStream := New(TEmsStream, Init(OldStream^.GetSize));
OldStream^.Seek(0);
NewStream^.CopyFrom(OldStream, OldStream^.GetSize);
См. также: TStream.GetSize, TObject.Init
Error
procedure Error(Code, Info: Integer); virtual;
Переопределяемость: иногда переопределяется.
Вызывается каждый раз, когда возникает ошибка потока.
По умолчанию TStream.Error сохраняет Code и Info в полях
Status и ErrorInfo. Затем, если глобальная переменная
StreamError имеет значение, отличное от nil, вызывает про-
цедуру, заданную в StreamError. После возникновения ошибки,
все операции над потоком приостанавливаются до тех пор, по-
ка не будет вызван метод Reset.
См. также: TStream.Reset, переменную StreamError
Flush
procedure Flush; virtual;
Переопределяемость: иногда переопределяется.
Это абстрактный метод, который должен быть переопреде-
лен в случае, если порожденный тип реализует буфер. Этот
метод может работать с любыми буферами, очищая буфер чтения
и записывая буфер вывода. По умолчанию TStream.Flush ничего
не делает.
См. также: TDosStream.Flush
Get
function Get: PObject;
Считывает объект из потока и возвращает указатель на
него. Объект должен быть предварительно записан в поток с
помощью TStream.Put. Get вначале читает из потока идентифи-
катор ID типа объекта (слово). Затем он находит соответс-
твующий тип объекта, сравнивая ID с полем ObjType всех за-
регистрированных типов объектов (см. тип TStreamRec). Нако-
нец, вызывает конструктор Load этого типа объекта для соз-
дания и инициализации объекта. Если ID типа объекта, счи-
танного из потока, равен 0, то Get возвращает указатель
nil. Если ID типа объекта не зарегистрирован (с помощью
RegisterType), то Get вызывает TStream.Error и возвращает
указатель nil; в противном случае Get возвращает указатель
на вновь созданный объект.
См. также: методы TStream.Put, RegisterType,
TStreamRec, Load
GetPos
function GetPos: Longint; virtual;
Переопределяемость: всегда переопределяется.
Возвращает текущую позицию в потоке. Этот абстрактный
метод должен всегда переопределяться.
См. также: TStream.Seek
GetSize
function GetSize: Longint; virtual;
Переопределяемость: всегда переопределяется.
Возвращает размер потока. Это абстрактный метод, кото-
рый должен переопределяться.
Put
procedure Put(P: PObject);
Записывает объект в поток. Объект позже можно считать
из потока, используя метод TStream.Get. Put вначале находит
регистрационную запись типа этого объекта, сравнивая смеще-
ние VMT объекта с полем VmtLink всех зарегистрированных ти-
пов объектов (см. тип TStreamRec). Затем записывает ID типа
объекта (поле ObjType регистрационной записи) в поток, и
наконец вызывает метод Store этого типа объекта для записи
объекта.
Если аргумент Р, переданный в Put, имеет значение nil,
то метод Put записывает в поток слово, содержащее 0. Если
тип объекта в Р не зарегистрирован (с помощью
RegisterType), то Put вызывает TStream.Error и ничего не
пишет в поток.
См. также: методы TStream.Get, RegisterType,
TStreamRec, Store
Read
procedure Read(var Buf; Count: Word); virtual;
Переопределяемость: переопределяется всегда.
Это абстрактный метод, и он должен переопределяться во
всех порожденных типах. Read должен считать Count байт из
потока в Buf и переместить текущую позицию потока на Count
байт. Если произошла ошибка, то метод Read должен вызывать
Error и заполнять Buf Count байтами, равными 0.
См. также: TStream.Write, TStream.Error
ReadStr
function ReadStr: PString;
Считывает строку начиная с текущей позиции вызывающего
потока, возвращая указатель на PString. TStream.ReadStr вы-
зывает GetMem для выделения (Length+1) байт для строки.
См. также: TStream.WriteStr
Reset
procedure Reset;
Сбрасывает ошибочное условие потока, устанавливая
Status (состояние) и ErrorInfo (информация об ошибке) рав-
ными 0. Этот метод позволяет продолжать обработку потока
после возникновения ошибочной ситуации, которую Вы скоррек-
тировали.
См. также: TStream.Status, TStream.ErrorInfo, коды
ошибок stXXXX
Seek
procedure Seek(Pos: Longint); virtual;
Переопределяемость: всегда переопределяется.
Это абстрактный метод, и он должен переопределяться во
всех потомках. TStream.Seek устанавливает текущую позицию в
Pos байт от начала потока. Начало потока- позиция 0.
См. также: TStream.GetPos
Truncate
procedure Truncate; virtual;
Переопределяемость: всегда переопределяется.
Это абстрактный метод, и он должен переопределяться во
всех потомках. TStream.Truncate удаляет из потока все дан-
ные от текущей позиции до конца.
См. также: TStream.GetPos, TStream.Seek
Write
procedure Write(var Buf; Count: Word); virtual;
Переопределяемость: всегда переопределяется.
Это абстрактный метод, который должен переопределяться
во всех порожденных типах. Write записывает Count байт из
Buf в поток и перемещает текущую позицию потока на Count
байт. Если возникла ошибка, то Write должен вызвать Error.
См. также: TStream.Read, TStream.Error
WriteStr
procedure WriteStr(P: PString);
Записывает строку P^ в вызывающий поток, начиная с те-
кущей позиции.
См. также: TStream.ReadStr
-----------------------------------------------------------
Тип TStreamRec Objects
-----------------------------------------------------------
Описание:
TStreamRec = record
ObjType: Word;
VmLink: Word;
Load: Pointer;
Store: Pointer;
Next: Word;
end;
Функция: Тип объекта Turbo Vision должен иметь заре-
гистрированную TStreamRec до его загрузки или сохранения в
объекте TStream. Подпрограмма RegisterTypes регистрирует
тип объекта, определяя запись TStreamRec.
Поля в регистрационной записи потока определены следу-
ющим образом:
Таблица 19.42. Поля записи потока.
-----------------------------------------------------------
Поле Содержимое
-----------------------------------------------------------
ObjType Уникальный числовой идентификатор для типа объекта
VmtLine Связь типа объекта с элементом VMT (таблицы
виртуальных методов)
Load Указатель на конструктор Load типа объекта
Store Указатель на метод Store типа объекта
Next Указатель на следующую TStreamRec
-----------------------------------------------------------
Внимание! Turbo Vision резервирует значения идентифи-
каторов типов объектов от 0 до 999 для внутреннего исполь-
зования. Программист может определить свои значения в диа-
пазоне от 1000 до 65535.
По соглашению, tStreamRec для типа объекта Txxxx назы-
вается Rxxxx. Например, TStreamRec для типа TCalculator на-
зывается RCalculator, как показано в следующем тексте:
type
TCalculator = object(TDialog)
constructor Load(var S: TStream);
procedure Store(var S: TStream);
...
end;
const
RCalculator: TStreamRec = (
ObjType: 2099;
VmtLink: Ofs(TypeOf(TCalculator)^);
Load: @TCalculator.Load;
Store: @TCalculator.Store);
begin
RegisterType(RCalculator);
...
end;
См. также: RegisterType
-----------------------------------------------------------
Тип TStrIndex Objects
-----------------------------------------------------------
Описание:
TStrIndex = array[0..9999] of TStrIndexRec;
Функция: Предназначен для внутреннего использования в
TStringList и TStrListmaker.
-----------------------------------------------------------
Тип TStrIndexRec Objects
-----------------------------------------------------------
Описание: TStrIndexRec = record
Key, Count, Offset: Word;
end;
Функция: Служит для внутреннего использования в
TStringList и TStrListmaker.
-----------------------------------------------------------
TStringCollection Objects
-----------------------------------------------------------
Объект TStringCollection является производным от
TSortedCollection и реализует отсортированный список строк
ASCII. Метод TStringCollection.Compare переопределяется для
задания обычного лексикографического упорядочения строк
ASCII. Вы можете переопределить метод Compare для задания
другого упорядочения, например, для неанглийских наборов
символов.
Методы
-----------------------------------------------------------
Compare
function Compare(Key1, Key2: Pointer): Integer;
virtual;
Переопределяемость: иногда переопределяется.
Сравнивает строки Key1^ и Key2^: возвращает -1, если
Key1 < Key2; 0, если Key1 = Key2 и +1, если Key1 > Key2.
См. также: TSortedCollection.Search
FreeItem
procedure FreeItem(Item: Pointer); virtual;
Переопределяемость: используется редко.
Удаляет строку Item^ из отсортированного набора и ос-
вобождает память, выделенную под эту строку.
GetItem
function GetItem(var S: TStream): Pointer; virtual;
Переопределяемость: переопределяется редко.
По умолчанию читает строку из TStream, вызывая S.ReadStr.
См. также: TStream.ReadStr
PutItem
procedure PutItem(var S: TStream;
Item: Pointer); virtual;
Переопределяемость: переопределяется редко.
По умолчанию записывает строку Item^ в поток S, вызы-
вая метод S.WriteStr.
См. также: TStream.WriteStr
-----------------------------------------------------------
TStringList Objects
-----------------------------------------------------------
Объект TStringList предоставляет механизм для доступа
к строкам, хранящимся в потоке. Каждая строка, хранящаяся в
списке строк, идентифицируется уникальным номером (ключом)
в интервале от 0 до 65535. Списки строк занимают меньше па-
мяти, чем обычные строки, поскольку строки хранятся в пото-
ке, а не в памяти. Кроме того, списки строк легко решают
проблему настройки программ на разные языки, поскольку
строки не "встроены" в программу.
TStringList включает методы только для доступа к стро-
кам; для создания списка строк Вы должны использовать
TStrListMaker.
Заметим, что TStringList и TStrListMaker имеют один ID
типа объекта (поле ObjType в TStreamRec) и следовательно,
не могут регистрироваться и использоваться одновременно в
одной программе.
Методы
-----------------------------------------------------------
Load
constructor Load(var S:TStream);
Загружает индекс списка строк из потока S и хранит
ссылку на S так, что TStringList.Get может позднее обра-
щаться к потоку при чтении строк.
Считая, что TStringList был зарегистрирован с помощью
RegisterType(RStringList), далее показано, как создать ко-
пию списка строк (созданного с помощью TStrListMaker и
TResourseFile.Put) из файла ресурса:
ResFile.Init(New(TBufStream, Init('MYAPP.RES',
stOpenRead, 1024)));
Strings := PStringList(ResFile.Get('Strings'));
См. также: TStrListMaker.Init, TStringList.Get
Done
destructor Done; virtual;
Переопределяемость: не переопределяется.
Освобождает память, выделенную для списка строк.
См. также: TStrListMaker.Init, TStringList.Done
Get
function Get(Key: Word): String;
Возвращает строку, заданную Key, или пустую строку,
если нет строки с данным Key. Например:
P := @FileName;
FormatStr(S, Strings^.Get(sLoadingFile), P);
См. также: TStringListMaker.Put
-----------------------------------------------------------
StrListMaker Objects
-----------------------------------------------------------
Объект TStrListMaker- это простой тип объекта, исполь-
зуемый для создания списка строк, который используют с
TStringList.
Следующий фрагмент исходного текста демонстрирует, как
создавать и сохранять список строк в файле ресурса.
const
sInformation = 100;
sWarning = 101;
sError = 102;
sLoadingFile = 200;
sSavingFile = 201;
var
ResFile: TResourceFile;
S: TStrListMaker;
begin
RegisterType(RStrListMaker);
ResFile.Init(New(TBufStream, Init('MYAPP.RES',
stCreate, 1024)));
S.Init(16384, 256);
S.Put(sInformation, 'Information');
S.Put(sWarning, 'Warning');
S.Put(sError, 'Error');
S.Put(sLoadingFile, 'Loading file #s.');
S.Put(sSavingFile, 'Saving file #s.');
ResFile.Put(@S,'Strings');
S.Done;
ResFile.Done;
end;
Методы
-----------------------------------------------------------
Init
constructor Init(AStrSize, AIndexSize: Word);
Создает в памяти список строк размера AStrSize с ин-
дексом из AIndexSize элементов. В динамической области вы-
деляется буфер строк и буфер индексов заданного размера.
AStrSize должен быть достаточно велик для хранения
всех строк, добавляемых в список строк (каждая строка зани-
мает свою длину, плюс 1 байт).
При добавлении строк в список строк (с использованием
TStrListMaker.Put) строится индекс строк. Строки с последо-
вательными ключами (такими, как sInformation, sWarning и
sError в предыдущем примере) записываются в одну индексную
запись в количестве до 16 за один раз. AIndexSize должен
быть достаточно большим для добавления всех сгенерированных
индексных записей. Каждый элемент индекса занимает 6 байт.
См. также: TStringList.Load, TStrListMaker.Done
Done
destructor Done; virtual;
Освобождает память, выделенную этим объектом.
См. также: TStrListMaker.Init
Put
procedure Put(Key: Word; S: String);
Добавляет String к списку строк (с заданным числовым Key).
Store
procedure Store(var S: TStream);
Сохраняет список строк в потоке S.
-----------------------------------------------------------
Тип TSysErrorFunc Drivers
-----------------------------------------------------------
Описание:
TSysErrorFunc = function(ErrorCode: Integer;
Drive: Byte): Integer;
Функция: Определяет тип функции обработчика системной
ошибки.
См. также: SysErrorFunc, SystemError, InitSysError,
DoneSysError
-----------------------------------------------------------
TStringLookupValidator Validate
-----------------------------------------------------------
Объект определителя допустимости соответствия строк
проверяет данные в связанной строке ввода, осуществляя по-
иск в наборе допустимых строк. Используйте определитель до-
пустимости соответствия строк в случае, если Ваша строка
ввода должна воспринимать только элементы определенного
множества строк.
Поле
-----------------------------------------------------------
Strings
Strings: PStringCollection;
Указывает на набор строк, содержащий все допустимые
строки, которые пользователь может вводить. Если Strings
равна nil, то любой ввод будет недопустимым.
Методы
-----------------------------------------------------------
Init
constructor Init (AStrings: PStringCollection);
Создает объект определителя допустимости соответствия
строк, вызывая сначала конструктор Init, унаследованный от
TLookupValidator, а затем устанавливает Strings равным
AStrings.
См. также: TLookupValidator.Init
Load
constructor Load(var S: TStream);
Создает и загружает объект определителя допустимости
соответствия строк из потока S, вызывая сначала конструктор
Load, унаследованный от TLookupValidator, а затем считывает
набор строк Strings.
См. также: TLookupValidator.Load
Done
destructor Done; virtual;
Освобождает память, занятую списком допустимых строк,
вызывая NewStringList (nil), а затем освобождает память
из-под объекта определителя допустимости соответствия
строк, вызывая деструктор Done, унаследованный от
TLookupValidator.
См. также: TLookupValidator.Done,
TStringLookupValidator.NewStringList
Error
procedure Error; virtual;
Выводит сообщение о том, что введенная строка не сов-
пала ни с одной из строк списка.
Lookup
function Lookup (const S: string): Boolean; virtual;
Возвращает True в случае, если строка, переданная в S,
совпадает с одной из строк из Strings. Использует метод
Search набора строк для определения того, содержится ли там
строка S.
См. также: TSortedCollection.Search
NewStringList
procedure NewStringList (AStrings: PStringCollection);
Устанавливает список допустимых строк ввода для опре-
делителя допустимости соответствия строк. Уничтожает любой
существующий список строк, а затем устанавливает Strings
равным AStrings. Передача в качестве AString значения nil
приводит к уничтожению старого списка без создания нового.
Store
procedure Store(var S: TStream);
Записывает объект определителя допустимости соответс-
твия строк в поток S, вызывая сначала метод Store, унасле-
дованный от TValidator, а затем записывает набор строк,
хранящийся в Strings.
-----------------------------------------------------------
TTerminal TextView
-----------------------------------------------------------
Объект TTerminal реализует "тупой" терминал с буфери-
зованным чтением и записью строк. По умолчанию это цикли-
ческий буфер размером 64К байт. Отображаемый элемент терми-
нала является примером драйвера устройства текстового фай-
ла, связанного с прокручиваемым отображаемым элементом.
Поля
-----------------------------------------------------------
Buffer (только для чтения)
Buffer: PTerminalBuffer;
Указывает на первый байт буфера терминала.
BufSize (только для чтения)
BufSize: Word;
Размер буфера терминала в байтах.
QueBack (только для чтения)
QueBack: Word;
Смещение (в байтах) последнего байта, сохраненного в
буфере терминала.
QueFront (только для чтения)
QueFront: Word;
Смещение (в байтах) первого байта, сохраненного в бу-
фере терминала.
Методы
-----------------------------------------------------------
Init
constructor Init(var Bounds: TRect;
AHScrollBar, AVScrollBar: PScrollBar;
ABufSize: Word);
Создает объект TTerminal с данными границами Bounds,
горизонтальной и вертикальной полосами прокрутки и буфером,
вызывая конструктор Init, унаследованный от TTextDevice, с
аргументами Bounds и полосами прокрутки, затем создает бу-
фер (на который указывает Buffer) с BufSize, равным
ABufSize. GrowMode устанавливается равным значению
gfGrowHiX + gfGrowHiY. QueFront и QueBack инициализируются
равными 0, указывая на пустой буфер. Курсор выводится в на-
чале отображаемого элемента (0, 0).
См. также: TScroller.Init
Done
destructor Done; virtual;
Переопределяемость: иногда используется.
Освобождает буфер и вызывает деструктор Done, унасле-
дованный от TTextDevice, для уничтожения объекта.
См. также: TScroller.Done, TTextDevice.Done
BufDec
procedure BufDec(var Val: Word);
Используется для манипуляции смещением очереди с коль-
цевым переносом: если Val = 0, то Val устанавливается рав-
ным BufSize-1, в противном случае значение Val уменьшается
на 1.
См. также: TTerminal.BufInc
BufInc
procedure BufInc(var Val: Word);
Используется для манипуляции смещением очереди с коль-
цевым переносом, увеличивая Val на 1; в случае, если Val >=
BufSize, то Val устанавливается равным 0.
См. также: TTerminal.BufDec
CalcWidth
function CalcWidth: Integer;
Возвращает длину самой длинной строки в текстовом буфере.
CanInsert
function CanInsert(Amount: Word): Boolean:
Возвращает значение True, если число байт, заданное в
Amount, можно вставить в буфер без уничтожения верхней
строки.
Draw
procedure Draw; virtual;
Переопределяемость: используется редко.
Вызывается каждый раз, когда элемент прокрутки
TTerminal должен быть отображен заново (например, когда по-
лоса прокрутки выбрана мышью, когда изменен размер отобра-
жаемого элемента, когда изменены значения Delta, или когда
добавление текста приводит к прокрутке).
NextLine
function NextLine(Pos: Word): Word;
Возвращает смещение в буфере начала строки, которая
следует за позицией Pos.
См. также: TTerminal.PrevLines
PrevLines
function PrevLines(Pos: Word; Lines: Word): Word;
Переопределяемость: иногда переопределяется.
Возвращает смещение в буфере начала строки, которая
стоит перед позицией Pos на Lines строк.
QueEmpty
function QueEmpty: Boolean;
Возвращает значение True в случае, если QueFront равно
QueBack.
См. также: TTerminal.QueFront, TTerminal.QueBack
StrRead
function StrRead(var S: TextBuf) : Byte; virtual;
Переопределяемость: иногда используется.
Это абстрактный метод, возвращающий 0. Вы должны пере-
определить его, если хотите, чтобы производный тип мог чи-
тать строки из текстового буфера.
StrWrite
procedure StrWrite(var S:TextBuf;
Count: Byte); virtual;
Переопределяемость: переопределяется редко.
Вставляет Count строк текста, заданного с помощью S, в
буфер терминала. Этот метод управляет любой требуемой прок-
руткой, выборочно перерисовывая отображаемый элемент с по-
мощью метода DrawView.
См. также: TView.DrawView
Палитра
-----------------------------------------------------------
Объекты терминала используют назначенную по умолчанию
палитру CScroller для отображения элементов 6 и 7 стандарт-
ной палитры программы.
1 2
ЙНННСННН»
CScroller є 6 і 7 є
ИНСНПНСНј
Нормальный ДДДЩ АДДДД Подсвеченный
-----------------------------------------------------------
Тип TTerminalBuffer TextView
-----------------------------------------------------------
Описание: TTerminalBuffer = array[0..65519] of Char;
Функция: Служит для внутреннего использования в TTerminal.
См. также: TTerminal
-----------------------------------------------------------
TTextDevice TextView
-----------------------------------------------------------
Метод TTextDevice представляет собой прокручиваемый
визуализатор текста/драйвер устройства типа TTY. В дополне-
ние к полям и методам, наследуемым от TScroller,
TTextDevice определяет виртуальные методы для чтения и за-
писи строк с устройства и на устройство. TTextDevice су-
ществует как базовый тип для порождения реальных драйверов
терминалов. TTextDevice использует конструктор и деструктор
TScroller.
Методы
-----------------------------------------------------------
StrRead
function StrRead(var S:TextBuf): Byte; virtual;
Переопределяемость: часто переопределяется.
Абстрактный метод, возвращающий по умолчанию 0. Вы
должны переопределить его в любом производном типе для чте-
ния строки из текстового устройства в S. Этот метод возвра-
щает число прочитанных строк.
StrWrite
procedure StrWrite(var S: TextBuf; Count: Byte);
virtual
Переопределяемость: всегда переопределяется.
Абстрактный метод для записи строки на устройство. Он
должен переопределяться в порожденных типах. Например,
TTerminal.StrWrite вставляет Count строк текста, заданных в
S, в буфер терминала, и перерисовывает отображаемый эле-
мент.
Палитра
-----------------------------------------------------------
Объекты текстового устройства используют определенную
по умолчанию палитру CScroller для отображения 6 и 7 эле-
ментов стандартной палитры программы.
1 2
ЙНННСННН»
CScroller є 6 і 7 є
ИНСНПНСНј
Нормальный ДДДЩ АДДДД Подсвеченный
-----------------------------------------------------------
Тип TTitleStr Views
-----------------------------------------------------------
Описание: TTitleStr = string[80];
Функция: Используется для описания строк текста для
окон с заголовками.
См. также: TWindow.Title
-----------------------------------------------------------
TValidator Validate
-----------------------------------------------------------
TValidator определяет абстрактный объект определителя
допустимости данных. Вам никогда не придется создавать ко-
пию TValidator, однако он обеспечивает большую часть абс-
трактных функций для других определителей допустимости дан-
ных.
Поля
-----------------------------------------------------------
Options
Options: Word
Options представляет собой битовое поле, используемое
для управления различными потомками TValidator. По умолча-
нию TValidator.Init сбрасывает все биты в Options.
См. также: константы voXXXX
Status
Status: Word
Указывает состояние объекта определителя допустимости.
Если Status равно stOK, то объект определителя допустимости
создан правильно. Любое значение, отличное от stOK, указы-
вает на то, что произошла ошибка.
См. также: TInputLine.Valid, константу ValidatorOK
Методы
-----------------------------------------------------------
Init
constructor Init;
Создает абстрактный объект определителя допустимости,
вызывая сначала конструктор Init, унаследованный от
TObject, а затем устанавливает поля Options и Status равны-
ми 0.
См. также: TObject.Init
Load
constructor Load(var S: TStream);
Создает объект определителя допустимости, вызывая сна-
чала конструктор Load, унаследованный от TObject, а затем
считывает из потока S поле Options.
См. также: TObject.Init
Error
procedure Error; virtual;
Error представляет собой абстрактный метод, вызываемый
Valid в случае, когда он обнаруживает, что пользователь
ввел ошибочную информацию. По умолчанию TValidator.Error
ничего не делает, однако порожденные типы могут переопреде-
лять Error для обеспечения обратной связи с пользователем.
IsValidInput
function IsValidInput (var S: string;
SupressFill: Boolean): Boolean;
virtual;
Если строка ввода имеет связанный с ней объект опреде-
лителя допустимости, то он вызывает IsValidInput после об-
работки каждого события от клавиатуры. Это дает объекту оп-
ределителя допустимости, такому, как фильтр допустимости,
возможность отлавливать ошибки до того, как пользователь
заполнит весь элемент или экран.
По умолчанию TValidator.IsValidInput возвращает True.
Порожденные определители допустимости данных могут переоп-
ределять IsValidInput для проверки допустимости данных по
мере того, как пользователь вводит их, и возвращать True в
случае, если S содержит верные данные, и False в противном
случае.
S представляет собой текущую строку ввода. SupressFill
определяет, должен ли определитель автоматически форматиро-
вать строку перед проверкой допустимости данных. Если
SupressFill равно True, то определитель допустимости рабо-
тает с неизмененной строкой S. Если SupressFill равно
False, то перед проверкой допустимости данных осуществляет-
ся их ввод. Из стандартных определителей допустимости лишь
TPXPictureValidator проверяет значение SupressFill.
Поскольку S является параметром типа var, IsValidInput
может производить изменения содержимого строки ввода, та-
кие, как преобразование букв в заглавные или вставление
буквенных символов из картинки формата. IsValidInput не
должен, однако, удалять из строки недопустимые символы.
Возвращая False, IsValidInput указывает на то, что строка
ввода должна сама стереть ошибочные символы.
IsValid
function IsValid (const S: string): Boolean; virtual;
По умолчанию TValidator.IsValid возвращает True. По-
рожденные типы определителей допустимости могут переопреде-
лять IsValid так, чтобы он проверял данные для полностью
введенной строки. Если строка ввода имеет связанный с ней
объект определителя допустимости, то ее метод Valid вызыва-
ет метод Valid объекта определителя допустимости, который в
свою очередь вызывает IsValid для определения того, являет-
ся ли содержимое строки ввода допустимым.
См. также: TInputLine.Valid, TValidator.Valid
Store
procedure Store(var S: TStream);
Записывает объект определителя допустимости в поток S,
записывая поле Options.
Transfer
function Transfer (var S: String;Buffer: Pointer;
Flag: TVTransfer): Word;virtual;
Transfer позволяет определителю допустимости изменять
установки и считывать значения связанной строки ввода, что
особенно полезно для определителей допустимости, проверяю-
щих нестроковые типы данных, такие, как численные значения.
Например, TRangeValidator использует Transfer для чтения и
записи значений типа Longint в запись данных, вместо того,
чтобы передавать всю строку.
По умолчанию строки ввода с определителями допустимос-
ти дают определителю возможность ответить на DataSize,
GetData и SetData, вызывая метод Transfer определителя до-
пустимости. Если Transfer возвращает что-либо, отличное от
0, то это говорит строке ввода о том, что она имеет дело с
правильной передачей. По умолчанию TValidator.Transfer
всегда возвращает 0. Если Вы хотите, чтобы определитель
осуществлял передачу данных, то необходимо переопределять
его метод Transfer.
Первые два параметра Transfer представляют собой свя-
занную со строкой ввода текстовую строку и запись данных
GetData или SetData. В зависимости от значения Flag
Transfer может устанавливать значение S из Buffer или счи-
тывать данные из S в буфер. Возвращаемое значение всегда
представляет собой число переданных байт.
Если Flag равен vtDataSize, то Transfer не изменяет ни
S, ни Buffer, а просто возвращает размер данных. Если Flag
равен vtSetData, то Transfer считывает соответствующее чис-
ло байт из Buffer, преобразует их в строковую форму и прис-
ваивает эту строку S, возвращая количество считанных байт.
Если Flag равен vtGetData, то Transfer преобразует S в со-
ответствующий тип данных и записывает это значение в
Buffer, возвращая число записанных байт.
См. также: TInputLine.DataSize, TInputLine.GetData,
TInput- Line.SetData
Valid
function Valid (const S: string): Boolean;
Возвращает True в случае, если IsValid (S) возвращает
True. В противном случае вызывает Error и возвращает False.
Метод Valid определителя допустимости вызывается методом
Valid связанной строки ввода.
Строки ввода со связанными определителями допустимости
вызывают метод Valid определителя допустимости при двух ус-
ловиях: либо у строки ввода установлена опция ofValidate, в
случае чего она вызывает Valid при потере фокуса, либо диа-
логовое окно, содержащее строку ввода, вызывает Valid для
всех его управляющих элементов, обычно потому, что пользо-
ватель сделал запрос о закрытии диалогового окна или о вво-
де набранных данных.
См. также: TInputLine.Valid, TValidator.Error,
TValidator.Is- Valid
-----------------------------------------------------------
Тип TVideoBuf Views
-----------------------------------------------------------
Описание: TVideoBuf = array[0..3999] of Word;
Функция: Используется для описания видеобуферов.
См. также: TGroup.Buffer
-----------------------------------------------------------
TView Views
-----------------------------------------------------------
Тип объекта TView существует для того, чтобы предоста-
вить основные поля и методы для порожденных объектов. Воз-
можно, что Вы никогда не будете создавать экземпляры самих
объектов TView, однако большая часть общего поведения отоб-
ражаемых элементов Turbo Vision происходит от TView.
Поля
-----------------------------------------------------------
Cursor (только для чтения)
CurSor: TPoint;
Положение аппаратного курсора внутри отображаемого
элемента. Курсор видим только в том случае, если отображае-
мый элемент активен (sfFocused) и курсор включен
(sfCursorVis). Форма курсора - это подчеркивание или прямо-
угольник (определен sfCursorIns).
См. также: SetCursor, ShowCursor, HideCursor,
NormalCursor, BlockCursor
DragMode (чтение/запись)
DragMode: Byte;
Определяет поведение отображаемого элемента при пере-
мещении с помощью "мыши".
Биты DragMode определены следующим образом:
ЪДДД DragMode ДДї
msb lsb
ЪДВДВДВДДДДДДДДДДД dmLimitAll = $F0
ЙПСПСПСПСНСНСНСН»
ИСПСПСПСПНПНПСПСј
і і і і і АДДД dmDragMove = $01
і і і і АДДДДД dmDragGrow = $02
і і і АДДДДДДДДДДД dmLimitLoX = $10
і і АДДДДДДДДДДДДД dmLimitLoY = $20
і АДДДДДДДДДДДДДДД dmLimitHiX = $40
АДДДДДДДДДДДДДДДДД dmLimitHiY = $80
Рис. 19.12. Отображение битов в DragMode.
Маски DragMode определены в разделе "Константы
DragMode dmXXXX" настоящей главы.
См. также: TView.DragView
EventMask (чтение/запись)
EventMask: Word;
EventMask представляет собой битовую маску, которая
определяет, какие классы событий будут распознаваться отоб-
ражаемым элементом. По умолчанию EventMask разрешает
evMouseDown, evKeyDown и evCommand. Назначение EventMask
равным $FFFF заставляет отображаемый элемент реагировать на
все классы событий, а значение 0 приводит к тому, что отоб-
ражаемый элемент не реагирует ни на какие события. Для под-
робного описания классов событий см. раздел "Константы со-
бытий evXXXX" настоящей главы.
См. также: методы HandleEvent
GrowMode (чтение/запись)
GrowMode: Byte;
Определяет, как отображаемый элемент будет увеличи-
ваться, когда его владелец изменяет размер. GrowMode прис-
ваивается одна или несколько следующих масок:
ЪДДД GrowMode ДДї
старший бит младший бит
ЪДВДВДВДДД gfGrowAll = $0F
ЙНСНСНСНСПСПСПСП»
ИСПНПСПСПСПСПСПСј
АДВДЩ і і і і АДДД gfGrowLoX = $01
і і і і АДДДДД gfGrowLoY = $02
Не определеноі і АДДДДДДД gfGrowHiX = $04
і АДДДДДДДДД gfGrowHiY = $08
АДДДДДДДДДДД gfGrowRel = $10
Рис. 19.13. Расположение битов в GrowMode.
Пример: GrowMode := gfGrowLoX or gfGrowLoY;
См. также: константы изменения размера gfXXXX
HelpCtx (чтение/запись)
HelpCtx: Word;
Контекст подсказки отображаемого элемента. Когда отоб-
ражаемый элемент активен, это поле представляет собой кон-
текст подсказки программы, если номер контекста подсказки
не равен hcNoContext, в случае чего контекст подсказки сов-
падает с контекстом подсказки владельца.
См. также: TView.GetHelpCtx
Next (только для чтения)
Next: PView;
Указывает на следующий равнозначный отображаемый эле-
мент в циклическом порядке. Если это последний подэлемент,
то Next указывает на первый отображаемый подэлемент вла-
дельца Owner.
Options (чтение/запись)
Options: Word;
Слово флагов Options (параметры) определяет поведение
отображаемого элемента.
Биты поля Options определены следующим образом:
ЪДДДДДДДД TView.Options ДДДДДДДДї
старший бит младший бит
ЪДВДДДДДДДДДДДДДДДДДДД ofCentered = $0300
ЙНСНСНСНСНСНСПСПСНСНСНСНСНСНСНСН»
ИСПНПНПНПНПСПСПСПСПСПСПСПСПСПСПСј
АДДДДВДДДДЩ і і і і і і і і і АДДД ofSelectable =$0001
і і і і і і і і і АДДДДД ofTopSelect =$0002
Не определено і і і і і і і АДДДДДДД ofFirstClick =$0004
і і і і і і АДДДДДДДДД ofFramed =$0008
і і і і і АДДДДДДДДДДД ofPreProcess =$0010
і і і і АДДДДДДДДДДДДД ofPostProcess=$0020
і і і АДДДДДДДДДДДДДДД ofBuffered =$0040
і і АДДДДДДДДДДДДДДДДД ofTileable =$0080
і АДДДДДДДДДДДДДДДДДДД ofCenterX =$0100
АДДДДДДДДДДДДДДДДДДДДД ofCenterY =$0200
Рис. 19.14. Биты в Options.
Для подробного описания флагов см. раздел "Константы
флагов параметров ofXXXX" настоящей главы.
Origin (только для чтения)
Origin: TPoint;
Координаты (X, Y) левого верхнего угла отображаемого
элемента относительно Origin владельца.
См. также: MovTo, Locate
Owner (только для чтения)
Owner: PGroup;
Указывает на объект группы, который владеет этим отоб-
ражаемым элементом. В случае значения nil, отображаемый
элемент не имеет владельца. Отображаемый элемент показыва-
ется внутри отображаемого элемента владельца и будет отсе-
каться по ограничивающему прямоугольнику владельца.
Size (только для чтения)
Size: TPoint;
Размер отображаемого элемента.
См. также: GrowTo, Locate
State (только для чтения)
State: Word;
Состояние отображаемого элемента представлено набором
бит в поле State. Многие методы TView проверяют и/или изме-
няют поле State, вызывая TView.SetState.
TView.GetState(AState) возвращает значение True в случае,
если State отображаемого элемента равно AState. Биты State
представлены мнемоническими константами, описанными в раз-
деле "Константы флагов состояния sfXXXX" настоящей главы.
Методы
-----------------------------------------------------------
Init
constructor Init(var Bounds: TRect);
Переопределяемость: часто используется.
Создает объект TView с заданным прямоугольником
Bounds. Метод Init вызывает конструктор Init, унаследован-
ный от TObject, а затем устанавливает поля нового TView
равными следующим значениям:
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Owner nil
Next nil
Origin (Bounds.A.X, Bounds.A.Y)
Size (Bounds.B.X-Bounds.A.X,Bounds.B.Y-Bounds.A.Y)
Cursor (0, 0)
GrowMode 0
DragMode dmLimitLoY
HelpCtx heNoContext
State sfVisible
Options 0
EventMask evMouseDown + evKeyDown + evCommand
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Заметим, что TObject.Init заполняет нулями все поля
потомков TView. Всегда вызывайте TView.Init до инициализа-
ции любых полей.
См. также: TObject.Init
Load
constructor Load(var S: TStream);
Переопределяемость: часто переопределяется.
Создает объект TView и загружает его из потока S. Раз-
мер данных, считываемых из потока, должен в точности соот-
ветствовать размеру данных, записанных в поток методом
Store. Если отображаемый элемент содержит указатели на рав-
нозначные отображаемые элементы, то Load должен использо-
вать для чтения этих указателей GetPeerViewPtr. Переопреде-
ленный конструктор Load всегда должен вызывать конструктор
Load своего предка.
По умолчанию TView.Load устанавливает поля Owner и
Next равными nil и считывает оставшиеся поля из потока.
Owner и Next устанавливаются владельцем отображаемого эле-
мента после загрузки всех подэлементов.
См. также: TView.Store, TStream.Get, TStream.Put
Done
destructor Done; virtual;
Переопределяемость: часто используется.
"Скрывает" отображаемый элемент (делает его невиди-
мым), а затем, если он имеет владельца, удаляет его из
группы.
Awaken
procedure Awaken; virtual;
По умолчанию TView.Awaken ничего не делает. Когда
группа загружается из потока, последнее, что делает конс-
труктор Load, это вызов методов Awaken всех подэлементов,
что дает им возможность проинициализировать себя при усло-
вии, что загружены все подэлементы. Это гарантирует допус-
тимость всех указателей, прочитанных с помощью
GetPeerViewPtr.
Если Вы создаете объекты, зависящие от других подэле-
ментов, и инициализирующие себя после того, как они считаны
из потока, можно переопределить Awaken, чтобы он выполнил
эту инициализацию.
См. также: TView.GetPeerViewPtr
BlоckCursor
procedure BlоckCursor;
Переопределяемость: не используется.
Устанавливает sfCursorIns, чтобы придать курсору форму
заполненного прямоугольника. Курсор будет видимым только в
том случае, если установлен sfCursorVis (и отображаемый
элемент также видим).
См. также: sfCursorIns, sfCursorVis,
TView.NormalCursor, TView.ShowCursor, TView.HideCursor
CalcBounds
procedure CalcBounds(var Bounds: TRect;
Delta: TPoint); virtual;
Переопределяемость: переопределяется редко.
Когда владелец отображаемого элемента изменяет размер,
он вызывает методы CalcBounds и ChangeBounds для всех подэ-
лементов. CalcBounds должен вычислять новые границы отобра-
жаемого элемента на основе Delta, на которое изменился раз-
мер его владельца, и возвращать новые границы в Bounds.
TView.CalcBounds вычисляет новые границы, используя
флаги, заданные в поле TView.GrowMode.
См. также: TView.GetBounds, TView.ChangeBounds, конс-
танты режима увеличения gfXXXX
ChangeBounds
procedure ChangeBounds(var Bounds: TRect); virtual;
Переопределяемость: используется редко.
Должен изменять границы отображаемого элемента (поля
Origin и Size) до размеров прямоугольника, заданного пара-
метром Bounds. После изменения границ ChangeBounds должен
перерисовать отображаемый элемент. ChangeBounds вызывается
различными методами TView, но не должен вызываться непос-
редственно.
Метод TView.ChangeBound вызывает сначала
SetBounds(Bounds), а затем вызывает DrawView.
См. также: TView.Locate, TView.MoveTo, TView.GrowTo
ClearEvent
procedure ClearEvent(var Event: TEvent);
Этот стандартный метод используется в HandleEvent для
указания того, что отображаемый элемент успешно обработал
событие. Устанавливает Event.What равным evNоthing, а
Event.InfoPtr равным @Self.
См. также: методы HandleEvent
CommandEnabled
function CommandEnabled(Command: Word): Boolean;
Возвращает значение True в случае, если команда
Command разрешена, и False в противном случае. Заметим, что
когда Вы изменяете режимное состояние, можно запретить или
разрешить необходимые команды. Однако, когда Вы возвращае-
тесь в предыдущее режимное состояние, исходный набор команд
будет восстановлен.
См. также: TView.DisableCommand, TView.EnableCommand,
TView.SetCommands
DataSize
function DataSize: Word; virtual;
Переопределяемость: используется редко.
Метод DataSize должен возвращать размер данных, считы-
ваемых и записываемых в запись данных с помощью методов
SetData и GetData. Механизм записи данных обычно использу-
ется только в отображаемых элементах, которые реализуют
элементы управления для диалоговых окон.
Чтобы указать на тот факт, что данные не передавались,
метод TView.DataSize возвращает нулевое значение.
См. также: TView.GetData, TView.SetData
DisableCommands
procedure DisableCommands(Commands: TCommandSet);
Запрещает команды, указанные в аргументе Commands.
См. также: TView.CommandEnabled, TView.EnableCommands,
TView.SetCommands
DragView
procedure DragView (Event: TEvent; Mode: Byte;
var Limits: TRect; MinSize, MaxSize: TPoint);
Перемещает отображаемый элемент, используя режим пере-
мещения, заданный флагами dmXXXX в параметре Mode. Параметр
Limits указывает прямоугольник (в системе координат вла-
дельца), внутри которого может перемещаться отображаемый
элемент, а Min и Max указывают минимальный и максимальный
размеры отображаемого элемента, которые он может принимать.
Событие, приводящее к операции перемещения "мышью", требу-
ется в Event для того, чтобы отличить перемещения "мышью"
от использования клавиш управления курсором.
См. также: TView.DragMode, константы режима увеличения
dmXXXX
Draw
procedure Draw; virtual;
Переопределяемость: всегда переопределяется.
Вызывается всякий раз, когда отображаемый элемент дол-
жен отобразиться заново. Метод Draw должен покрывать всю
область отображаемого элемента. Этот метод должен соответс-
твенно переопределяться для каждого порожденного объекта.
В общем, Draw не следует вызывать напрямую, поскольку
более эффективно использовать DrawView, который рисует
только видимые на экране отображаемые элементы, т.е. эле-
менты, часть которых или весь отображаемый элемент видимы
на экране. При необходимости Draw может вызвать метод
GetClipRect для получения прямоугольника, который необходи-
мо перерисовать, а затем рисовать только эту область. Для
сложных отображаемых элементов это может значительно улуч-
шить производительность.
См. также: TView.DrawView
DrawView
procedure DrawView;
Вызывает Draw каждый раз, когда TView.Exposed возвра-
щает значение True, что указывает на тот факт, что отобра-
жаемый элемент видим на экране (см. sfExposed). Вы должны
вызвать DrawView (а не Draw), когда необходимо заново вы-
вести отображаемый элемент после изменения, которое воз-
действует на его видимое изображение.
См. также: TView.Draw, TGroup.ReDraw, TView.Exposed
EnableCommands
procedure EnableCommands(Commands: TCommandSet);
Разрешает все команды в параметре Commands.
См. также: TView.DisableCommands, TView.GetCommands,
TView.CommandEnabled, TView.SetCommands
EndModal
procedure EndModal(Command: Word); virtual;
Переопределяемость: никогда не переопределяется.
Завершает текущее режимное состояние и возвращает
Command в качестве результата вызова функции ExecView, ко-
торая создала это режимное состояние.
См. также: TGroup.ExecView, TGroup.Execute, TGroup.EndModal
EventAvail
function EventAvail: Boolean;
Возвращает значение True в случае, если событие дос-
тупно для GetEvent.
См. также: TView.MouseEvent, TView.KeyEvent,
TView.GetEvent
Execute
function Execute: Word; virtual;
Переопределяемость: используется редко.
Вызывается из TGroup.ExecView каждый раз, когда отоб-
ражаемый элемент становится режимным. Если отображаемый
элемент допускает режимное выполнение, то он должен переоп-
ределить Execute для реализации цикла событий. Результатом
Execute становится значение, возвращаемое из ExecView.
TView.ExecView просто возвращает cmCancel.
См. также: sfModal, TGroup.Execute, TGroup.ExecView
Exposed
function Exposed: Boolean;
Возвращает значение True, если какая-либо часть отоб-
ражаемого элемента видима на экране.
См. также: sfExposed, TView.DrawView
Focus
function Focus: Boolean;
Выбирает отображаемый элемент и делает его активным,
возвращая True в случае, если владелец отображаемого эле-
мента возвращает из Focus значение True, и если элемент не
является ни выбранным, ни режимным, или если он не имеет
владельца. В противном случае возвращает False.
Различие между Focus и Select заключается в том, что
Focus может завершиться неудачно. То есть, другой элемент
может не отдать фокус, обычно вследствие того, что он со-
держит недопустимые данные, которые должны быть исправлены
перед передачей фокуса.
См. также: TView.Select
GetBounds
procedure GetBounds(var Bounds: TRect);
Возвращает в переменной Bounds ограничивающий прямоу-
гольник отображаемого элемента в координатной системе его
владельца. Bounds.A устанавливается равным Origin, а
Bounds.B устанавливается равным сумме Origin и Size.
См. также: TView.Origin, TView.Size, TView.CalcBounds,
TView.ChangeBounds, TView.SetBounds, TView.GetExtent
GetClipRect
procedure GetClipRect(var Clip: TRect);
Возвращает в переменной Clip минимальный прямоуголь-
ник, который требуется перерисовать в вызове Draw. Для
сложных отображаемых элементов Draw может использовать
GetClipRect для значительного улучшения производительности.
См. также: TView.Draw
GetColor
function GetColor(Color: Word): Word;
Преобразует индексы палитры младшего и старшего байта
Color в физические атрибуты символа, просматривая палитру
отображаемого элемента и палитры всех его владельцев.
См. также: TView.GetPalette
GetCommands
procedure GetCommands(var Commands: TCommandSet);
Устанавливает Commands равным текущему набору команд.
См. также:TView.CommandsEnabled,TView.EnableCommands,
TView.DisableCommands,TView.SetCommands
GetData
procedure GetData(var Rec); virtual;
Переопределяемость: используется редко.
Метод GetData должен копировать DataSize байт из отоб-
ражаемого элемента в запись данных Rec. Механизм записей
данных обычно используется только в отображаемых элементах,
которые реализуют элементы управления для диалоговых окон.
По умолчанию TView.GetData ничего не делает.
См. также: TView.DataSize, TView.SetData
GetEvent
procedure GetEvent(var Event: TEvent); virtual;
Переопределяемость: используется редко.
Устанавливает Event равным следующему доступному собы-
тию. Возвращает evNothing, если доступных событий нет. По
умолчанию он вызывает GetEvent владельца отображаемого эле-
мента.
См. также: TView.EventAvail, TProgram.Idle,
TView.HandleEvent, TView.PutEvent
GetExtent
procedure GetExtent(var Extent: TRect);
Возвращает в переменной Extent ограничивающий прямоу-
гольник отображаемого элемента. Extent.A устанавливается
равным (0, 0), а Extent.B устанавливается равным Size.
См. также: TView.Origin, TView.Size, TView.CalcBounds,
TView.ChangeBounds, TView.SetBounds, TView.GetBounds
GetHelpCtx
function GetHelpCtx: Word; virtual;
Переопределяемость: используется редко.
Метод GetHelpCtx должен возвращать контекст подсказки
отображаемого элемента.
По умолчанию TView.GetHelpCtx возвращает значение поля
HelpCtx или возвращает hcDragging, если отображаемый эле-
мент перемещается мышкой (см. sfDragging).
См. также: HelpCtx
GetPalette
function GetPalette: PPalette; virtual;
Переопределяемость: всегда переопределяется.
Данный метод должен возвращать указатель на палитру
отображаемого элемента или nil, если отображаемый элемент
не имеет палитры. GetPalette вызывается из GetColor,
WriteChar и WriteStr при преобразовании индексов палитры в
физические атрибуты символов. При возвращаемом значения
nil, преобразование цвета этим отображаемым элементом не
производится. GetPalette почти всегда переопределяется в
порожденных типах объектов.
По умолчанию TView.GetPalette возвращает значение nil.
См. также: TView.GetColor, TView.WriteXXXX
GetPeerViewPtr
procedure GetPeerViewPtr(var S: TStream; var P);
Загружает указатель Р равнозначного отображаемого эле-
мента из потока S. Равнозначный отображаемый элемент - это
отображаемый элемент, имеющий того же владельца, что и у
этого отображаемого элемента. Например, TScroller содержит
2 равнозначных отображаемых элемента HScrollBar и
VScrollBar. GetPeerViewPtr должен использоваться только
внутри конструктора Load для чтения значений указателей,
которые были записаны при вызове PutPeerViewPtr из метода
Store.
Внимание! Загруженное в Р значение не является дейс-
твительным до тех пор, пока владелец отображаемого элемента
не завершит полностью операцию Load; следовательно измене-
ние указателя на равнозначный отображаемый элемент внутри
конструктора Load не дает правильного значения. Указатели
на равнозначные элементы могут изменяться в методах Awaken,
которые вызываются методом Load группы после того, как оп-
ределяются все подэлементы.
См. также: TView.PutPeerViewPtr, TGroup.Load,
TGroup.Store
GetState
function GetState(AState: Word): Boolean;
Возвращает значение True в случае, если бит(ы) из
AState установлен(ы) в поле State.
См. также: State, TView.SetState
GrowTo
procedure GrowTo(X, Y: Integer);
Увеличивает или уменьшает отображаемый элемент до дан-
ного размера, используя вызов TView.Locate.
См. также: TView.Origin, TView.Locate, TView.MoveTo
HandleEvent
procedure HandleEvent(var Event: TEvent);virtual;
Переопределяемость: всегда переопределяется.
HandleEvent представляет собой центральный метод, пос-
редством которого реализована вся обработка событий Turbo
Vision. Поле What параметра Event содержит класс события
(evXXXX), а оставшиеся поля Event описывают событие. Для
указания того, что он обработал событие, метод HandleEvent
должен вызывать ClearEvent. Метод HandleEvent почти всегда
переопределяется в порожденных типах объектов.
TView.HandleEvent обрабатывает события evMouseDown
следующим образом: если отображаемый элемент не выбран
(sfSelected) и не запрещен (sfDisabled), и если отображае-
мый элемент является выбираемым (ofSelectable), то отобра-
жаемый элемент выбирается с помощью вызова Select. Другие
события в TView.HandleEvent не обрабатываются.
См. также: TView.ClearEvent
Hide
procedure Hide;
"Скрывает" отображаемый элемент, вызывая SetState для
сброса флага sfVisible в State.
См. также: sfVisible, TView.SetState, TView.Show
HideCursor
procedure HideCursor;
"Скрывает" курсор, сбрасывая бит sfCursorVis в State.
См. также: sfCursorVis, TView.ShowCursor
KeyEvent
procedure KeyEvent(var Event: TEvent);
Возвращает в переменной Event следующее событие
evKeyDown. Он ожидает события от клавиатуры, игнорируя все
другие события.
См. также: TView.GetEvent, TView.EventAvail
Locate
procedure Locate(var Bounds: TRect);
Изменяет границы отображаемого элемента на Bounds.
Отображаемый элемент перерисовывается в его новом положе-
нии. Метод Locate вызывает SizeLimits для проверки того,
что данные границы Bounds правильны, а затем вызывает метод
ChangeBounds для изменения границ и заново выводит отобра-
жаемый элемент.
См. также: TView.GrowTo, TView.MoveTo, TView.ChangeBounds
MakeFirst
procedure MakeFirst;
Перемещает отображаемый элемент на вершину списка по-
дэлементов владельца. Вызов MakeFirst соответствует
PutInFrontOf(Owner^.First).
См. также: TView.PutInFrontOf
MakeGlobal
procedure MakeGlobal(Source: TPoint;
var Dest:TPoint);
Преобразует координаты точки Sourсe из локальных (ко-
ординаты отображаемого элемента) в глобальные (координаты
экрана) и возвращает результат в Dest. Source и Dest могут
быть одной переменной.
См. также: TView.MakeLocal
MakeLocal
procedure MakeLocal(Source: TPoint;
var Dest:TPoint);
Преобразует координаты точки Source из глобальных (эк-
ран) в локальные (отображаемый элемент) и возвращает ре-
зультат в Dest. Полезно для преобразования поля Event.Where
в событии evMouse из глобальных координат в локальные. Нап-
ример MakeLocal(Event.Where, MouseLoc).
См. также: TView.MakeGlobal, TView.MouseInView
MouseEvent
function MouseEvent(var Event: TEvent;
Mask: Word): Boolean;
Возвращает следующее событие от "мыши" в Event. Возв-
ращает значение True в случае, если возвращенное событие
есть в аргументе Mask, и False, если возникло событие
evMouseUp. Этот метод позволяет отслеживать "мышь", когда
ее кнопка нажата, например в операциях отметки блока с по-
мощью "мыши" в текстовых редакторах.
Ниже приведем фрагмент текста HandleEvent, который
отслеживает положение "мыши" курсором отображаемого элемен-
та.
procedure TMyView.HandleEvent(var Event: TEvent);
begin
TView.HandleEvent(Event);
case Event.What of
evMouseDown:
begin
repeat
MakeLocal(Event.Where, Mouse);
SetCursor(Mouse.X, Mouse.Y);
until not MouseEvent(Event, evMouseMove);
ClearEvent(Event);
end;
...
end;
end;
См. также: TView.EventMasks, TView.KeyEvent,
TView.GetEvent
MouseInView
function MouseInView (Mouse: TPoint): Boolean;
Возвращает значение True в случае, если аргумент Mouse
(заданный в глобальных координатах) находится внутри отоб-
ражаемого элемента.
См. также: TView.MakeLocal
MoveTo
procedure MoveTo(X, Y: Integer);
Перемещает Origin в точку (X, Y) относительно владель-
ца отображаемого элемента. Размер Size отображаемого эле-
мента не изменяется.
См. также: Origin, Size, TView.Locate, TView.GrowTo
NextView
function NextView: PView;
Возвращает указатель на следующий подэлемент в списке
подэлементов владельца. Возвращается nil, если отображаемый
элемент является последним в списке подэлементов владельца.
См. также: TView.PrevView, TView.Prev, TView.Next
NormalCursor
procedure NormalCursor;
Сбрасывает бит sfCursorIns в State, переводя курсор в
режим подчеркивания. Если sfCursorVis установлен, то будет
отображаться новый курсор.
См. также: sfCursorIns, sfCursorVis, TView.HideCursor,
TView.BlockCursor, TView.HideCursor
Prev
function Prev: PView;
Возвращает указатель на предыдущий подэлемент в списке
подэлементов владельца. Если отображаемый элемент первый в
списке владельца, то Prev возвращает последний отображаемый
элемент в списке. Заметим, что TView.Prev интерпретирует
список как кольцевой, в то время как TView.PrevView интерп-
ретирует его как линейный.
См. также: TView.NextView, TView.PrevView, TView.Next
PrevView
function PrevView: PView;
Возвращает указатель на предыдущий подэлемент в списке
подэлементов владельца. Возвращается nil, если отображаемый
элементпервый в списке подэлементов владельца. Заметим, что
TView.Prev интерпретирует список как кольцевой, а
TView.PrevView- как линейный.
См. также: TView.NextView, TView.Prev
PutEvent
procedure PutEvent(var Event: TEvent); virtual;
Переопределяемость: используется редко.
Помещает событие, заданное в Event, в очередь событий,
в результате чего это событие будет следующим событием,
возвращаемым GetEvent. Этим способом в очередь событий мо-
жет быть помещено только одно событие. Это часто использу-
ется отображаемыми элементами, генерирующими командные со-
бытия, например:
Event.What := evCommand;
Event. Command := cmSaveAll;
Event.InfoPtr := nil;
PutEvent(Event);
По умолчанию TView.PutEvent вызывает метод PutEvent
владельца отображаемого элемента.
См. также: TView.EventAvail, TView.GetEvent,
TView.HandleEvent
PutInFrontOf
procedure PutInFrontOf(Target: PView);
Помещает отображаемый элемент перед отображаемым эле-
ментом Target в списке подэлементов владельца. Вызов
TView.PutInFontOf(Owner^.First);
эквивалентен TView.MakeFirst. Этот метод работает, изменяя
указатели в списке подэлементов. В зависимости от положения
других отображаемых элементов и их состояния, PutInFrontOf
может отсекать закрываемые отображаемые элементы. Если
отображаемый элемент выбираемый (см. ofSelectable) и поме-
щается поверх всех других подэлементов, то этот отображае-
мый подэлемент становится выбранным.
См. также: TView.MakeFirst
PutPeerViewPtr
procedure PutPeerViewPtr(var S: TStream;
P: PView);
Сохраняет указатель P на равнозначный отображаемый
элемент в потоке S. Равнозначный отображаемый элемент - это
отображаемый элемент с тем же владельцем, что и этот отоб-
ражаемый элемент. Метод PutPeerViewPtr должен использовать-
ся только внутри метода Store для записи значений указате-
лей, которые позже могут быть считаны с помощью
GetPeerViewPtr в конструкторе Load.
См. также: TView.PutPeerViewPtr, TGroup.Load,
TGroup.Store
Select
procedure Select;
Выделяет отображаемый элемент (см. sfSelected). Если
владелец отображаемого элемента является активным, то отоб-
ражаемый элемент так же активизируется (см. sfFocused). Ес-
ли отображаемый элемент имеет установленный флаг
ofTopSelect в поле Options, то отображаемый элемент переме-
щается на вершину списка подэлементов владельца (используя
вызов TView.MakeFirst).
См. также: sfSelected, sfFocused, ofTopSelect,
TView.MakeFirst
SetBounds
procedure SetBounds(var Bounds: TRect);
Устанавливает ограничивающий прямоугольник отображае-
мого элемента равным значению параметра Bounds. Поле Origin
устанавливается равным Bounds.A, а поле Size устанавливает-
ся равным значение разности Bounds.B Bounds.A. Метод
SetBounds вызывается только из переопределенного метода
ChangeBounds- Вы не должны вызывать SetBounds непосредс-
твенно.
См. также: TView.Origin, TView.Size,
TView.CalcBounds, TView.ChangeBounds, TView.GetBounds,
TView.GetExtent
SetCmdState
procedure SetCmdState (Commands: TCommandSet;
Enable: Boolean);
Разрешает Commands в случае равенства Enable True, и
запрещает их в случае равенства Enable False. SetCmdState
является оперативной клавишей для использования
EnableCommands или DisableCommands.
См. также: TView.DisableCommands, TView.EnableCommands
SetCommands
procedure SetCommands(Commands: TCommandSet);
Изменяет текущий набор команд на заданный аргументом
Com- mаnds.
См. также: TView.EnableCommands, TView.DisableCommands
SetCursor
procedure SetCursor(X, Y: Integer);
Перемещает аппаратный курсор в точку (X, Y), используя
относительные координаты отображаемого элемента (локаль-
ные). (0, 0)- это левый верхний угол.
См. также: TView.MakeLocal, TView.HideCursor,
TView.ShowCursor
SetData
procedure SetData(var Rec); virtual;
Переопределяемость: используется редко.
Метод SetData должен копировать DataSize байт из запи-
си данных Rec в отображаемый элемент. Механизм записи дан-
ных обычно используется только в отображаемых элементах,
которые реализуют элементы управления для диалоговых окон.
По умолчанию TView.SetData ничего
не делает.
См. также: TView.DataSize, TView.GetData
SetState
procedure SetState(AState: Word;
Enable: Boolean); virtual;
Переопределяемость: иногда используется.
Устанавливает или сбрасывает флаг состояния в поле
TView.State. Параметр AState задает флаг состояния, который
будет изменяться (см. sfXXXX), а параметр Enable указывает,
будет этот флаг устанавливаться (True) или сбрасываться
(False). TView.SetState затем выполняет соответствующие
действия для отражения нового состояния, такие как перери-
совка отображаемых элементов, которые, будучи невидимы на
экране, становятся видимыми (sfVisible) или перепрограмми-
рование аппаратной части в случаях, когда изменяется форма
курсора (sfCursorVis и sfCursorIns).
Внимание! Если отображаемый элемент переопределяет
SetState, то он должен всегда вызывать сначала унаследован-
ный метод SetState для того, чтобы убедиться в том, что
указанные биты устанавливаются или сбрасываются.
Метод SetState иногда переопределяется для выполнения
дополнительных действий, основанных на флагах состояний.
Например, тип TFrame переопределяет метод SetState для пе-
рерисовки самого себя каждый раз, когда окно выбирается или
перемещается с помощью "мыши":
procedure TFrame.SetState(AState: Word; Enable: Boolean);
begin
TView.SetState(AState, Enable);
if AState and (sfActive + sfDragging) <> 0 then
DrawView;
end;
Другая распространенная причина возможного переопреде-
ления SetState- это необходимость разрешить или запретить
команды, которые обрабатываются определенным отображаемым
элементом.
procedure TMyView.SetState(AState: Word; Enable: Boolean);
const
MyCommands = [cmOut, cmCopy, cmPaste, cmClear]
begin
TView.SetState(AState, Enable);
if AState = sfSelected then
if Enable then
EnableCommands(MyCommands) else
DisableCommands(MyCommands);
end;
См. также: TView.GetState, TView.State, константы фла-
га состояния sfXXXX
Show
procedure Show;
Показывает отображаемый элемент, вызывая SetState для
установки флага sfVisible в поле State.
См. также: TView.SetState
ShowCursor
procedure ShowCursor;
Включает аппаратный курсор, устанавливая sfCursorVis.
Заметим, что по умолчанию курсор невидим.
См. также: sfCursorVis, TView.HideCursor
SizeLimits
procedure SizeLimits(var Min, Max: TPoint); virtual;
Переопределяемость: иногда используется.
Возвращает, в переменных Min и Max, минимальное и мак-
симальное значения, которые может принимать поле Size.
Locate не позволит отображаемому элементу выходить за эти
пределы. SizeLimits, установленная по умолчанию, возвращает
в Min (0, 0), а в MaxOwner^.Size.
См. также: TView.Size
Store
procedure Store(var S: TStream);
Переопределяемость: часть используется.
Сохраняет отображаемый элемент в потоке S. Размер дан-
ных, записываемых в поток, должен точно соответствовать
размеру данных, читаемых из потока конструктором Load отоб-
ражаемого элемента. Если отображаемый элемент содержит ука-
затель на равнозначные отображаемые элементы, то для записи
этих указателей Store должен использовать PutPeerViewPtr.
Переопределенный метод Store должен всегда вызывать метод
Store порождающего объекта.
По умолчанию TView.Store записывает в поток все поля,
кроме Owner и Next.
См. также: TView.Load, TStream.Get, TStream.Put
TopView
function TopView: PView;
Возвращает указатель на текущий режимный отображаемый
элемент.
Valid
function Valid(Commands: Word): Boolean; virtual;
Переопределяемость: иногда используется.
Этот метод используется для проверки правильности
отображаемого элемента после его создания (с использованием
методов Init или Load) или в момент, когда заканчивается
режимное состояние (при вызове EndModal).
Значение параметра Command, равное cmValid (ноль),
указывает на то, что отображаемый элемент должен проверять
результат своего создания: Valid(cmValid) должен возвращать
значение True в случае, если отображаемый элемент был ус-
пешно создан и готов к использованию. В противном случае
возвращается False.
Любое другое (отличное от нуля) значение параметра
Command указывает на то, что текущее режимное состояние
(такое, как режимное диалоговое окно) должно завершаться с
результирующим значением Command. В этом случае Valid долж-
на проверять правильность отображаемого элемента. Наиболее
распространенная команда проверки правильности - это
cmClose, указывающая на то, что окно будет закрыто.
Если у отображаемого элемента установлен флаг
ofValidate, то перед тем, как отображаемый элемент потеряет
фокус ввода, вызывается Valid с командой cmReleaseFocus.
Если Valid возвращает False, то отображаемый элемент не от-
дает фокус.
Valid должна сообщить пользователю о том, что отобра-
жаемый элемент является неправильным, например, с помощью
программы MessageBox из модуля MsgBox, выдавая сообщение об
ошибке.
По умолчанию TView.Valid просто возвращает True.
См. также: TGroup.Valid, TDialog.Valid,
TProgram.ValidView
WriteBuf
procedure TView.WriteBuf(X, Y, W, H: Integer;
var Buf);
Записывает буфер на экран, начиная с координат (X, Y)
и заполняет область шириной W и высотой H. Должен использо-
ваться только в методах Draw. Обычно параметр Buf имеет тип
ТDrawBuffer, но он может быть любым массивом слов, в кото-
ром каждое слово содержит символ в младшем байте и атрибут
в старшем байте.
См. также: TView.Draw, тип TDrawBuffer
WriteChar
procedure TView.WriteChar(X, Y: Integer;Ch: Char;
Color: Byte; Count: Integer);
Начиная с точки (X, Y) записывает Count копий символа
Ch цветом, определенным элементом с номером Color, в палит-
ре отображаемого элемента. Должен использоваться только в
методах Draw.
См. также: TView.Draw
WriteLine
procedure TView.WriteLine(X, Y, W, H: Integer;
var Buf);
Выводит строку, содержащуюся в буфере Buf, на экран,
начиная с точки (X, Y) и внутри прямоугольника, определен-
ного шириной W и высотой H. Если H больше 1, то строка бу-
дет повторяться Н раз. Должен использоваться только в мето-
де Draw. Параметр Buf обычно имеет тип TDrawBuffer, но мо-
жет быть любым массивом слов, в котором каждое слово содер-
жит символ в младшем байте и атрибут - в старшем байте.
См. также: TView.Draw
WriteStr
procedure TView.WriteStr(X, Y: Integer;
Str: String; Color: Byte);
Записывает строку Str цветом элемента с номером Color
в палитре отображаемого элемента, начиная с точки (X, Y).
Должен использоваться только в методе Draw.
См. также: TView.Draw
-----------------------------------------------------------
Тип TVTransfer Validate
-----------------------------------------------------------
Описание:
TVTransfer = (vtDataSize, vtSetData, vtGetData);
Функция: Объекты определителя допустимости используют
параметры типа TVTransfer в методах Transfer для управления
передачей данных при установке или чтении значения связан-
ной строки ввода.
См. также: TValidator.Transfer
-----------------------------------------------------------
Тип TWildStr StdDlg
-----------------------------------------------------------
Описание:
TWildStr = PathStr;
Функция: TWildStr идентичен типу PathDir, определенно-
му в модуле Dos. Он используется в стандартных диалоговых
окнах для передачи шаблонов имен файлов.
-----------------------------------------------------------
TWindow Views
-----------------------------------------------------------
Объект TWindow- это специализированная группа, которая
обычно владеет объектом TFrame, внутренним объектом
TScroller и одним или двумя объектами TScrollBar. Эти до-
полнительные элементы придают объекту TWindow дополнитель-
ную наглядность. Объект TFrame задает обычную рамку, разме-
щает необязательный заголовок и номер, а также функциональ-
ные пиктограммы (закрытия, распахивания, перемещения). Объ-
екты TWindow имеют встроенные возможности перемещения и
масштабирования с помощью "мыши" и клавиатуры. Они могут
распахиваться и закрываться отметкой "мышью" соответствую-
щих пиктограмм. Они также "знают" как работать с полосами
прокрутки и элементами прокрутки. Окна с номерами от 1 до 9
могут выбираться клавишами Alt-n (n от 1 до 9).
Поля
-----------------------------------------------------------
Flags (чтение/запись)
Flags: Byte;
Поле Flags содержит комбинацию следующих бит:
Ъ TWindow.Flags ї
старший бит младший бит
ЙНСНСНСНСНСНСНСН»
ИСПНПНПСПСПСПСПСј
АДДВДДЩ і і і АД wfMove = $01
і і і АДДД wfGrow = $02
Не определеноі АДДДДД wfClose = $04
АДДДДДДД wfZoom = $08
Описание флагов окна см. в разделе "Константы флагов
окна wfXXXX" настоящей главы.
Frame (только для чтения)
Frame: PFrame;
Frame- это указатель на объект TFrame, связанный с ок-
ном.
См. также: TWindow.InitFrame
Number (чтение/запись)
Number: Integer;
Номер этого окна. Если TWindow.Number находится в диа-
пазоне 1 - 9, то он будет появляться в заголовке рамки, и
окно может быть выбрано клавишами Alt-n (n от 1 до 9).
Palette (чтение/запись)
Palette: Integer;
Определяет, какая палитра окна будет использоваться:
wpBlueWindow, wpCyanWindow, wpGrayWindow. По умолчанию вы-
бирается палитра wpBlueWindow.
См. также: TWindow.GetPalette, константы wpXXXX
Title (чтение/запись)
Title: RString;
Строка символов, определяющая заголовок, который появ-
ляется в рамке.
ZoomRect (только для чтения)
ZoomRect: TRect;
Нормальные границы окна (без учета "распахивания").
Методы
-----------------------------------------------------------
Init
constructor Init(var Bounds: TRect;
ATitle: TTitleStr; ANumber: Integer);
Создает отображаемый элемент окна с границами, пере-
данными в Bounds, вызывая конструктор Init, унаследованный
от TGroup. Устанавливает State так, чтобы она включала
sfShadow. Устанавливает Options равным (ofSelectable +
ofTopSelect). Устанавливает GrowMode равным gfGrowAll +
gfGrowRel. Устанавливает Flags равным (wfMove + wfGrow +
wfClose + wfZoom). Устанавливает поле Title равным
NewStr(ATitle), поле Number равным ANumber. Вызывает
InitFrame, и если поле Frame не равно nil, вставляет его в
группу окна. Наконец, устанавливает ZoomRect равным Bounds.
См. также: TFrame.InitFrame
Load
constructor Load(var S: TStream);
Создает и загружает окно из потока S, вызывая сначала
конструктор Load, унаследованный от TGroup, а затем считы-
вая дополнительные поля, введенные TWindow.
См. также: TGroup.Load
Done
destructor Done; virtual;
Переопределяемость: иногда используется.
Освобождает память окон и подэлементов.
Close
procedure Close; virtual;
Переопределяемость: используется редко.
Вызывает метод окна Valid со значением Command, равным
cmClose, и если Valid возвращает True, закрывает окно, вы-
зывая метод Done.
GetPalette
function GetPalette: PPalette; virtual;
Переопределяемость: иногда используется.
Возвращает указатель на палитру, заданную индексом па-
литры в поле Palette. В таблице 19.43 показаны палитры,
возвращаемые для различных значений Palette.
Таблица 19.43 Палитры окна, возвращаемые в зависимости от
Palette
-----------------------------------------------------------
Поле Palette Возвращаемая палитра
-----------------------------------------------------------
wpBlueWindow CBlueWindow
wpCyanWindow CCyanWindow
wpGrayWindow CGrayWindow
-----------------------------------------------------------
См. также: TWindowPalette
GetTitle
function GetTitle(MaxSize: Integer): TTitleStr;
virtual;
Переопределяемость: переопределяется редко.
Должен возвращать строку заголовка окна. Если строка
заголовка больше, чем MaxSize символов, то метод GetTitle
должен пытаться укоротить ее, иначе она будет отсекаться
отбрасыванием текста сверх MaxSize символов. Метод
TFrame.Draw вызывает Owner^.GetTitle для получения строки
текста, отображаемой в рамке.
По умолчанию GetWindow.Title возвращает строку Title^
или пустую строку, если поле Title равно nil.
См. также: TWindow.Title, TFrame.Draw
HandleEvent
procedure HandleEvent(var Event: TEvent);virtual;
Переопределяемость: часто используется.
Обрабатывает большую часть событий, вызывая сначала
метод HandleEvent, унаследованный от TGroup, а затем обра-
батывает специфические для TWindow события следующим обра-
зом:
События evCommand обрабатываются, если поле
TWindow.Flags разрешает эту операцию:
-cmResize (переместить или изменить размер окна, с по-
мощью метода TView.DrawView)
-cmClose (закрыть окно, используя метод TWindow.Close)
-cmZoom (распахнуть окно, используя метод
TWindow.Zoom).
События evKeyDown со значением KeyCode, равным kbTab
или kbShiftTab обрабатываются, выбирая следующий или преды-
дущий выбираемый подэлемент (если он существует).
Событие evBroadcast со значением Command, равным
cmSelectWindowNum, вызывает выбор окна, если поле
Event.InfoInt равно TWindow.Number.
См. также: TGroup.HandleEvent, константы wfXXXX
InitFrame
procedure InitFrame; virtual;
Переопределяемость: используется редко.
Создает объект TFrame для окна и сохраняет указатель
на эту рамку в поле TWindow.Frame. InitFrame вызывается из
TWindow.Init, и никогда не должен вызываться напрямую.
InitFrame может быть переопределен для создания объекта
рамки, отличного от стандартной.
См. также: TWindow.Init
SetState
procedure SetState(AState: Word;
Enable: Boolean); virtual;
Переопределяемость: используется редко.
Вначале вызывает метод SetState, унаследованный от
TGroup. Затем, если AState равно sfSelected, активизирует
или деактивизирует окно и все его подэлементы, используя
вызов SetState(sfActive, Enable) и вызов
TView.EnableCommands или TView.DisableCommands для cmNext,
cmPrev, cmResize, cmClose и cmZoom.
См. также: TGroup.SetState, EnableCommands,
DisableCommands
SizeLimits
procedure SizeLimits(var Min, Max: TPoint); virtual;
Переопределяемость: переопределяется редко.
Вызывает сначала метод SizeLimits, унаследованный от
TView, а затем устанавливает Min равным MinWinSize.
См. также: TView.SizeLimits, переменную MinVinSize
StandardScrollBar
function StandardScrollBar(AOptions: Word): PScrollBar;
Создает, вставляет и возвращает указатель на "стан-
дартную" полосу прокрутки для окна. "Стандартность" означа-
ет тот факт, что полоса прокрутки вставляется в рамку окна,
не закрывая углов или пиктограмм изменения размеров.
Параметр AOptions может быть либо равен sbHorizontal
для создания горизонтальной полосы прокрутки внизу окна,
либо иметь значение sbVertical для создания вертикальной
полосы прокрутки в правой стороне окна, либо может быть
скомбинирован с sbHandleKeyboard, чтобы разрешить полосе
прокрутки откликаться на клавиши управления курсором, а не
только на кнопки "мыши".
См. также: константы полосы прокрутки sbXXXX
Store
procedure TWindow.Store(var S: TStream);
Сохраняет окно в потоке S, вызывая сначала метод
Store, унаследованный от TGroup, а затем записывая дополни-
тельные поля, введенные TWindow.
См. также: TGroup.Store
Zoom
procedure TWindow.Zoom; virtual;
Переопределяемость: переопределяется редко.
Вызывает сначала метод SizeLimits, унаследованный от
TView, а затем устанавливает Min равным MinWinSize.
См. также: TView.SizeLimits, переменную MinVinSize
StandardScrollBar
function StandardScrollBar(AOptions: Word): PScrollBar;
Создает, вставляет и возвращает указатель на "стан-
дартную" полосу прокрутки для окна. "Стандартность" означа-
ет тот факт, что полоса прокрутки вставляется в рамку окна,
не закрывая углов или пиктограмм изменения размеров.
Параметр AOptions может быть либо равен sbHorizontal
для создания горизонтальной полосы прокрутки внизу окна,
либо иметь значение sbVertical для создания вертикальной
полосы прокрутки в правой стороне окна, либо может быть
скомбинирован с sbHandleKeyboard, чтобы разрешить полосе
прокрутки откликаться на клавиши управления курсором, а не
только на кнопки "мыши".
См. также: константы полосы прокрутки sbXXXX
Store
procedure TWindow.Store(var S: TStream);
Сохраняет окно в потоке S, вызывая сначала метод
Store, унаследованный от TGroup, а затем записывая дополни-
тельные поля, введенные TWindow.
См. также: TGroup.Store
Zoom
procedure TWindow.Zoom; virtual;
Переопределяемость: используется редко.
Распахивает окно. Этот метод обычно вызывается в ответ
на команду cmZoom (генерируемую при отметке мышью пиктог-
раммы распахивания окна). Zoom принимает во внимание отно-
сительные размеры окна и его владельца, а также значение
ZoomRect.
См. также: cmZoom, ZoomRect
Палитра
-----------------------------------------------------------
Объекты окна используют по умолчанию палитры
CBlueWindow (для текстовых окон), CCyanWindow (для окон со-
общений) и CGrayWindow (для диалоговых окон).
1 2 3 4 5 6 7 8
ЙНННСНННСНННСНННСНННСНННСНННСННН»
CGrayWindow є 24і 25і 26і 27і 28і 29і 30і 31є
МНННПНННПНННПНННПНННПНННПНННПННН№
МНННСНННСНННСНННСНННСНННСНННСННН№
CCyanWindow є 16і 17і 18і 19і 20і 21і 22і 23є
МНННПНННПНННПНННПНННПНННПНННПННН№
МНННСНННСНННСНННСНННСНННСНННСННН№
CBlueWindow є 8 і 9 і 10і 11і 12і 13і 14і 15є
ИНСНПНСНПНСНПНСНПНСНПНСНПНСНПНСНј
і і і і і і і і
Пассивная ДДДДДЩ і і і і і і АЗарезервировано
рамка і і і і і і
Активная рамка ДДДДЩ і і і і АДД Выделенный текст
і і і і прокрутки
Пиктограмма ДДДЩ і і АДДДДДД Нормальный текст
рамки і і элемента прокрутки
Страница полосы ДДДДДДДДДДДЩ АДДДДДДДДДДД Зарезервировано
прокрутки
-----------------------------------------------------------
Тип TWordArray Objects
-----------------------------------------------------------
Описание: TWordArray = array[0..16383] of Word;
Функция: Тип массива слов для общего использования.
-----------------------------------------------------------
Константа vmtHeaderSize Objects
-----------------------------------------------------------
Описание:
vmtHeaderSize = 8;
Функция: Используется внутри потоков, наборов и отоб-
ражаемых элементов в качестве смещения.
-----------------------------------------------------------
Константы voXXXX Validate
-----------------------------------------------------------
Функция: Константы, начинающиеся с vo, представляют
биты в битовом поле Options объекта определителя допусти-
мости.
Значения: Options определителя допустимости определены
следующим образом:
Рис. 19.15 Флаги опций определителя допустимости.
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
старший бит младший бит
ЙНСНСНСНСНСНСНСНСНСНСНСНСНСНСНСН»
ИСПНПНПНПНПНПСПСПСПСПСПСПСПСПСПСј
АДДДДВДДДДДДЩ і і і і і і і і АДДД voFill = $0001
і і і і і і і і АДДДДД voTransfer= $0002
Не определено АДБДБДБДБДБДБДДДДДДД voReserved= $0004
Таблица 19.44 Флаги опций определителя допустимости.
-----------------------------------------------------------
Константа Значение Описание
-----------------------------------------------------------
voFill $0001 Используется картинками
допустимости для указания
того, вводить ли буквенные
символы по мере того,как по-
льзователь вводит их.
voTransfer $0002 Определитель допустимости
обрабатывает передачу дан-
ных для строки ввода. В
настоящее время используется
лишь определителями диапа-
зонов допустимости.
voReserved $0004 Биты в этой маски зарезерви-
рованы фирмой Borland
-----------------------------------------------------------
-----------------------------------------------------------
Константы vsXXXX Validate
-----------------------------------------------------------
Функция: Объекты строк ввода используют vsOK для про-
верки того, что связанные с ними объекты определителей до-
пустимости созданы правильно. При вызове с параметром ко-
манды cmValid метод Valid объекта строки ввода проверяет
значение поля Status определителя допустимости. Если Status
равен vsOK, то Valid строки ввода возвращает True, что ука-
зывает на готовность объекта определителя допустимости к
использованию.
Единственная величина, определенная для Status и от-
личная от vsOK, это vsSyntax, которая используется
TPXPictureValidator для указания того, что он не смог ин-
терпретировать строку картинки, переданную ему. При созда-
нии собственных объектов определителя допустимости можно
определять коды ошибок и передавать их в поле Status.
Значения: Модуль Validate определяет две константы,
используемые объектами определителя допустимости для сооб-
щения об их состоянии:
Таблица 19.45 Константы состояния определителя допус-
тимости
-----------------------------------------------------------
Константа Значение Описание
-----------------------------------------------------------
vsOK 0 Определитель допустимости
создан правильно
vsSyntax 1 Ошибка в синтаксисе картинки
допустимости
-----------------------------------------------------------
-----------------------------------------------------------
Константы wfXXXX Views
-----------------------------------------------------------
Функция: Эти мнемонические обозначения определяют биты
в поле Flags объектов TWindow. Если биты установлены, то
окно будет иметь соответствующие атрибуты: окно может пере-
мещаться, изменять размер, закрываться или распахиваться.
Значения: Флаги окна определены следующим образом:
Ъ TWindow.Flags ї
і і
старший бит младший бит
ЙНСНСНСНСНСНСНСН»
ИСПНПНПСПСПСПСПСј
АДДВДДЩ і і і АД wfMove = $01
і і і АДДД wfGrow = $02
Неопределеныі АДДДДД wfClose = $04
АДДДДДДД wfZoom = $08
Таблица 19.46. Константы флагов окна.
-----------------------------------------------------------
Константа Значение Смысл
-----------------------------------------------------------
wfMove $01 Окно можно перемещать
wfGrow $02 Окно может изменять размеры и иметь в
правом нижнем углу соответствующую пик-
тограмму
wfClose $04 Рамка окна имеет пиктограмму закрытия
wfZoom $08 Рамка окна имеет пиктограмму распахива-
ния
-----------------------------------------------------------
Если отдельный бит установлен, то соответствующая воз-
можность имеется, в противном случае, эта возможность от-
сутствует.
См. также: TWindows.Flags
-----------------------------------------------------------
Функция WindowColorItems ColorSel
-----------------------------------------------------------
Описание:
function WindowColorItems (Palette: Word;
const Next: PColorItem): PColorItem;
Функция: Возвращает связанный список записей типа
TColorItem для стандартных объектов окна. Для программ,
позволяющих пользователю изменять цвета окна с помощью диа-
логового окна изменения цветов, WindowColorItems упрощает
процесс установки элементов цветов.
-----------------------------------------------------------
Константa wnNoNumber Views
-----------------------------------------------------------
Описание: wnNoNumber = 0;
Функция: Если поле TWindow.Number объекта окна содер-
жит эту константу, то это указывает на то, что окно не име-
ет номера и не может выбираться с помощью комбинации клавиш
Alt-номер. Если поле Number находится в интервале от 1 до
9, то в рамке отображается номер окна, и доступен выбор ок-
на по клавише Alt-номер.
См. также: TWindow.Number
-----------------------------------------------------------
Переменная WordChars Editors
-----------------------------------------------------------
Описание:
WordChars: set of Char = ['0'..'9',
'A'..'Z', '_', 'a'..'z'];
Функция: Объекты редактора используют WordChars для
определения того, является ли символ частью слова. Такие
функции, как перемещение курсора и поиск целых слов, должны
знать, где слова начинаются и заканчиваются.
-----------------------------------------------------------
Тип WordRec Objects
-----------------------------------------------------------
Описание: WordRec = record
Lo, Hi: Byte;
end;
Функция: Запись, позволяющая осуществлять доступ к
младшему Lo и старшему Hi битам слова.
См. также: LongRec
-----------------------------------------------------------
Константы wpXXXX Views
-----------------------------------------------------------
Функция: Эти константы определяют три стандартных цве-
товых набора для окон. По умолчанию, объект TWindow имеет
палитру wpBlueWindow. По умолчанию, объект TDialog имеет
палитру wpGrayWindow.
Значения: Turbo Vision определяет эти три стандартных
палитры окна следующим образом:
Таблица 19.47. Стандартные палитры окна.
-----------------------------------------------------------
Константа Значение Назначение
-----------------------------------------------------------
wpBlueWindow 0 Желтый текст на синем
wpCuanWindow 1 Синий текст на голубом
wpGrayWindow 2 Черный текст на сером
-----------------------------------------------------------
См. также: TWindow.Palette, TWindow.GetPalette
О г л а в л е н и е
ГЛАВА 19. Справочник по системе Turbo Vision.........
Процедура Abstract Objects..
Переменная Application App......
Переменная AppPalette App......
Константы apXXXX App......
Процедура AssignDevice TextView.
Константы bfXXXX Dialogs..
Переменная ButtonCount Drivers..
Константы cdXXXX StdDlg...
Константы cfXXXX Dialogs..
Переменная CheckSnow Drivers..
Процедура ClearHistory HistList.
Процедура ClearScreen Drivers..
Переменная Clipboard Editors..
Константы cmXXXX.....................................
Переменная ColorIndexes ColorSel.
Функция ColorGroup ColorSel.
Функция ColorItem ColorSel.
Константы coXXXX Drivers..
Функция: CStrLen Drivers..
Переменная CtrlBreakHit Drivers..
Функция: CtrlToArrow Drivers..
Переменная CursorLines Drivers..
Функция: DefEditorDialog Editors..
Переменная DeskTop App......
Функция DesktopColorItems ColorSel.
Функция DialogColorItems ColorSel.
Процедура DisposeBuffer Memory...
Процедура DisposeCache Memory...
Процедура DisposeMenu Menus....
Процедура DisposeNode Outline..
Процедура DisposeStr Objects..
Константы dmXXXX Views....
Процедура DoneDosMem Memory...
Процедура DoneEvents Drivers..
Процедура DoneHistory Drivers..
Процедура DoneMemory Memory...
Процедура DoneSysError Drivers..
Процедура DoneVideo Drivers..
Переменная DoubleDelay Drivers..
Константы dpXXXX Dialogs..
Переменная EditorDialog Editors..
Переменная EditorFlags Editors..
Константы edXXXX Editors..
Константы efXXXX Editors..
Переменная EmsCurHandle Objects..
Переменная EmsCurPage Objects..
Переменная ErrorAttr Views....
Константы evXXXX Drivers..
Константы fdXXXX StdDlg...
Переменная FindStr Editors..
Тип FNameStr Objects..
Переменная FocusedEvents Views....
Процедура FormatStr Drivers..
Процедура FreeBufMem Memory...
Функция: GetAltChar Drivers..
Функция: GetAltCode Drivers..
Функция: GetBufferSize Memory...
Процедура GetBufMem Memory...
Процедура GetKeyEvent Drivers..
Процедура GetMouseEvent Drivers..
Константы gfXXXX Views....
Константы hcXXXX App......
Константы hcXXXX Views....
Процедура HideMouse Drivers..
Переменная HiResScreen Drivers..
Процедура HistoryAdd HistList.
Переменная HistoryBlock HistList.
Функция HistoryCount HistList.
Переменная HistorySize HistList.
Функция HistoryStr HistList.
Переменная HistoryUsed HistList.
Процедура InitDosMem Memory...
Процедура InitEvents Drivers..
Процедура InitHistory HistList.
Процедура InitMemory Memory...
Процедура InitSysError Drivers..
Процедура InitVideo Drivers..
Функция InputBox MsgBox...
Функция InputBoxRect MsgBox...
Константы kbXXXX Drivers..
Процедура LoadHistory HistList.
Процедура LoadIndexes ColorSel.
Функция: LongDiv Objects..
Функция: LongMul Objects..
Тип LongRec Objects..
Функция: LowMemory Memory...
Переменная LowMemSize Memory...
Переменная MaxBufMem Memory...
Переменная MaxCollectionSize Objects..
Переменная MaxHeapSize Memory...
Переменная MaxLineLength Editors..
Константа MaxViewWidth Views....
Константы mbXXXX Drivers..
Функция: MemAlloc Memory...
Функция: MemAllocSeg Memory...
Переменная MenuBar App......
Функция MenuColorItems ColorSel.
Функция: Message Views....
Функция: MessageBox MsgBox...
Функция: MessageBoxRect MsgBox...
Константы mfXXXX MsgBox...
Переменная MinWinSize Views....
Переменная MouseButtons Drivers..
Переменная MouseEvents Drivers..
Переменная MouseIntFlag Drivers..
Переменная MouseReverse Drivers..
Переменная MouseWhere Drivers..
Процедура MoveBuf Objects..
Процедура MoveChar Drivers..
Процедура MoveCStr Drivers..
Процедура MoveStr Drivers..
Процедура NewBuffer Memory...
Процедура NewCache Memory...
Функция: NewItem Menus....
Функция: NewLine Menus....
Функция: NewMenu Menus....
Функция: NewNode OutLine..
Функция: NewSItem Dialogs..
Функция: NewStatusDef Menus....
Функция: NewStatusKey Menus....
Функция: NewStr Objects..
Функция: NewSubMenu Menus....
Константы ofXXXX Views....
Константы ovXXXX Outline..
Переменная PositionalEvents Views....
Процедура PrintStr Drivers..
Тип PString Objects..
Тип PtrRec Objects..
Процедура RegisterColorSel ColorSel.
Процедура RegisterDialogs Dialogs..
Процедура RegisterEditors Editors..
Процедура RegisterStdDlg StdDlg...
Процедура RegisterType Objects..
Процедура RegisterValidate Validate.
Переменная RepeatDelay Drivers..
Переменная ReplaceStr Editors..
Переменная SaveCtrlBreak Drivers..
Константы sbXXXX Views....
Переменная ScreenBuffer Drivers..
Переменная ScreenHeight Drivers..
Переменная ScreenMode Drivers..
Переменная ScreenWidth Drivers..
Тип SelectMode Views....
Функция SetBufferSize Memory...
Процедура SetMemTop Memory...
Процедура SetVideoMode Drivers..
Константы sfXXXX Views....
Переменная ShadowAttr Views....
Переменная ShadowSize Views....
Переменная ShowMarkers Drivers..
Процедура ShowMouse Drivers..
Константы smXXXX Drivers..
Переменная SpecialChars Views....
Константы stXXXX Objects..
Переменная StartupMode Drivers..
Переменная StatusLine App......
Функция StdEditMenuItems App......
Функция StdEditorDialog Editors..
Функция StdFileMenuItems App.....
Функция StdStatusKeys App.....
Функция StdWindowMenuItems App.
Переменная StreamError Objects.......................
Процедура StoreHistory HistList.
Процедура StoreIndexes ColorSel.
Переменная SysColorAttr Drivers..
Переменная SysErrActive Drivers..
Переменная SysErrorFunc Drivers..
Переменная SysMonoAttr Drivers..
Функция: SystemError Drivers..
TApplication App......
Методы...............................................
TBackground App....
Поля.................................................
Методы...............................................
Палитра..............................................
TBufStream Objects.
Поля.................................................
Методы...............................................
TButton Dialogs..
Поля.................................................
Методы...............................................
Палитра..............................................
Тип TByteArray Objects..
Тип TCharSet Objects..
Объекты TChDirDialog StdDialog
Поля.................................................
Методы...............................................
TCheckBoxes Dialogs..
Методы...............................................
Палитра..............................................
TCluster Dialogs..
Поля.................................................
Методы...............................................
Палитра..............................................
TCollection Objects..
Поля.................................................
Методы...............................................
TColorDialog ColorSel.
Поля.................................................
Методы...............................................
TColorDisplay ColorSel.
Тип TColorGroup ColorSel.
Объект TColorGroupList ColorSel.
Тип TColorIndex ColorSel.
Тип TColorItem ColorSel.
Объект TColorItemList ColorSel.
Тип TColorSel ColorSel.
Объект TColorSelector ColorSel.
Тип TCommandSet Views....
TDeskTop App...
Поля
Методы..............................................
Методы...............................................
TDialog Dialogs..
Методы...............................................
Палитра..............................................
Объект TDirCollection StdDlg...
Тип TDirEntry StdDlg...
Объект TDirListBox StdDlg...
TDosStream Objects.
Поля.................................................
Методы...............................................
Тип TDrawBuffer Views....
Тип TEditBuffer Editors..
Объект TEditor Editors..
Поля.................................................
Методы...............................................
Палитра..............................................
Тип TEditorDialog Editors..
Объект TEditWindow Editors..
Поле.................................................
Методы...............................................
TEmsStream Objects..
Поля.................................................
Методы...............................................
Тип TEvent Drivers..
Объект TFileCollection StdDlg...
Объект TFileDialog StdDlg...
Поля.................................................
Методы...............................................
TFileEditor Editors..
Поле.................................................
Методы...............................................
TFileInfoPane StdDlg...
TFileInputLine StdDlg...
TFileList StdDlg...
TFilterValidator Validate.
Поле.................................................
Методы...............................................
Тип TFindDialogRec Editors..
TFrame Views..
Методы...............................................
Палитра..............................................
TGroup Views..
Поля.................................................
Методы...............................................
Метод Init...........................................
Load.................................................
Done.................................................
Awaken...............................................
ChangeBounds.........................................
DataSize.............................................
Delete...............................................
Draw.................................................
EndModal.............................................
EventError...........................................
ExecView.............................................
Execute..............................................
First................................................
FirstThat............................................
FocusNext............................................
ForEach..............................................
GetData..............................................
GetHelpCtx...........................................
GetSubViewPtr........................................
HandleEvent..........................................
Insert...............................................
InsertBefore.........................................
Lock.................................................
PutSubViewPtr........................................
Redraw...............................................
SelectNext...........................................
SetData..............................................
SetState.............................................
Store................................................
Unlock...............................................
Valid................................................
THistory Dialogs.
Поля.................................................
Методы...............................................
Палитра........................................
THistoryViewer Dialogs.
THistoryWindow Dialogs.
TIndicator Editors..
Поля.................................................
Методы...............................................
Палитра..............................................
TInputLine Dialogs.
Поля.................................................
Методы...............................................
Палитра..............................................
Тип TItemList Objects..
TLabel Dialogs.
Поля.................................................
Методы...............................................
Палитра..............................................
TListBox Dialogs..
Поле.................................................
Методы...............................................
Палитра..............................................
TListViewer Views.
Поля.................................................
Методы...............................................
Палитра..............................................
TLookupValidator Validate.
Методы...............................................
Объект TMemo Editors..
Методы...............................................
Палитра..............................................
Тип TMemoData Editors..
Тип TMenu Menus....
TMenuBar Menu...
Методы...............................................
Палитра..............................................
TMenuBox Menu.
Методы...............................................
Палитра..............................................
Тип TMenuItem Menus....
Тип TMenuStr Menus....
TMenuView Menu.
Поля.................................................
Методы...............................................
Палитра..............................................
Объект TMonoSelector ColorSel.
TMultiCheckBoxes Dialogs..
Поля.................................................
Методы...............................................
Тип TNode Outline..
TObject Objects.
Методы...............................................
TOutLine OutLine..
Поле.................................................
Методы...............................................
TOutlineViewer Outline..
Поле.................................................
Методы...............................................
Палитра..............................................
Тип TPalette Views....
TParamText Dialogs.
Поля.................................................
Методы...............................................
Палитра..............................................
TPoint Objects..
Поля.................................................
Тип TPicResult Validate.
TProgram App..
Методы...............................................
Палитры..............................................
TPXPictureValidator Validate.
Поле.................................................
Методы...............................................
TRadioButtons Dialogs.
Методы...............................................
Палитра..............................................
TRangeValidator Validate.
Поля.................................................
Методы...............................................
TRect Objects..
Поля.................................................
Методы...............................................
Тип TReplaceDialogRec Editors..
TResourceCollection Objects.
TResourceFile Objects.
Поля.................................................
Методы...............................................
TScrollBar Views.
Поля.................................................
Методы...............................................
Палитра..............................................
Тип TScrollChars Views....
TScroller Views.
Поля.................................................
Методы...............................................
Палитра..............................................
Тип SearchRec StdDlg...
Тип TSItem Dialogs..
TSortedCollection Objects.
Поле.................................................
Методы...............................................
Объект TSortedListBox StdDlg...
Поля.................................................
Методы...............................................
TStaticText Dialogs.
Поля.................................................
Методы...............................................
Палитра..............................................
Тип TStatusDef Menus....
Тип TStatusItem Menus....
TStatusLine Menus..
Поля.................................................
Методы...............................................
Палитра..............................................
TStream Objects
Поля.................................................
Методы...............................................
Тип TStreamRec Objects..
Тип TStrIndex Objects..
Тип TStrIndexRec Objects..
TStringCollection Objects.
Методы...............................................
TStringList Objects.
Методы...............................................
StrListMaker Objects..
Методы...............................................
Тип TSysErrorFunc Drivers..
TStringLookupValidator Validate.
Поле.................................................
Методы...............................................
TTerminal TextView.
Поля.................................................
Методы...............................................
Палитра..............................................
Тип TTerminalBuffer TextView.
TTextDevice TextView
Методы...............................................
Палитра..............................................
Тип TTitleStr Views....
TValidator Validate.
Поля.................................................
Методы...............................................
Тип TVideoBuf Views....
TView Views.
Поля.................................................
Методы...............................................
Load.................................................
Done.................................................
Awaken...............................................
BlоckCursor..........................................
CalcBounds...........................................
ChangeBounds.........................................
ClearEvent...........................................
CommandEnabled.......................................
DataSize.............................................
DisableCommands......................................
DragView.............................................
Draw.................................................
DrawView.............................................
EnableCommands.......................................
EndModal.............................................
EventAvail...........................................
Execute..............................................
Exposed..............................................
Focus................................................
GetBounds............................................
GetClipRect..........................................
GetColor.............................................
GetCommands..........................................
GetData..............................................
GetEvent.............................................
GetExtent............................................
GetHelpCtx...........................................
GetPalette...........................................
GetPeerViewPtr.......................................
GetState.............................................
GrowTo...............................................
HandleEvent..........................................
Hide.................................................
HideCursor...........................................
KeyEvent.............................................
Locate...............................................
MakeFirst............................................
MakeGlobal...........................................
MakeLocal............................................
MouseEvent...........................................
MouseInView..........................................
MoveTo...............................................
NextView.............................................
NormalCursor.........................................
Prev.................................................
PrevView.............................................
PutEvent.............................................
PutInFrontOf.........................................
PutPeerViewPtr.......................................
Select...............................................
SetBounds............................................
SetCmdState..........................................
SetCommands..........................................
SetCursor............................................
SetData..............................................
SetState.............................................
Show.................................................
ShowCursor...........................................
SizeLimits...........................................
Store................................................
TopView..............................................
Valid................................................
WriteBuf.............................................
WriteChar............................................
WriteLine............................................
WriteStr.............................................
Тип TVTransfer Validate.
Тип TWildStr StdDlg...
TWindow Views..
Поля.................................................
Методы...............................................
Палитра..............................................
Тип TWordArray Objects..
Константа vmtHeaderSize Objects..
Константы voXXXX Validate.
Константы vsXXXX Validate.
Константы wfXXXX Views....
Функция WindowColorItems ColorSel.
Константa wnNoNumber Views....
Переменная WordChars Editors..
Тип WordRec Objects..
Константы wpXXXX Views....
|