ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.



 

Часть 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....




Яндекс цитирования