Logo    
Деловая газета CitCity.ru citforum.ck.ua - все об Open Source Форумы Все публикации Учебный центр Курилка
CitForum    CITForum на CD    Подписка на новости портала Море(!) аналитической информации! :: citforum.ck.ua
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Friday, 14-Mar-2008 18:17:03 EET

Google
WWW citforum.ck.ua
Техническая конференция «Корпоративные базы данных-2008»
Москва, 24-25 апреля

              

TTerminal TextView


                  +---------+
                  | TObject |
                  +----+----+
                   +---+---+
                   | TView |
                   +---+---+
                 +-----+-----+
                 | TScroller |
                 +-----+-----+
                +------+------+
                | TTextDevice |
                +------+------+
                 +=====+=====+
                 | TTerminal |
                 +===========+

         TTerminal реализует  "немой"  терминал  с   буферизованным
         чтением и  записью  строк.  По умолчанию - это циклический
         буфер размером 64К байт.



Поля

 BufSize  BufSize: Word;                              Только чтение
         Размер буфера терминала в байтах.

 Buffer  Buffer: PTerminalBuffer;                     Только чтение
         Указывает на первый байт буфера терминала.

 QueFront  QueFront: Word;                            Только чтение
         Смещение (в байтах) первого байта  запомненного  в  буфере
         терминала.

 QueBack  QueBack: Word;                              Только чтение
         Смещение (в  байтах)  последнего  байта,  запомненного   в
         буфере терминала.



Методы

 Init    constructor    Init(var    Bounds:  TRect;    AHScrollBar,
                          AVScrollBar: PScrollBar; ABufSize: Word);
                                              Перекрывается: Иногда
         Создает объект TTerminal с данным Bounds, горизонтальной и
         вертикальной полосами  скроллинга   и   буфером,   вызывая
         TTextDevice.Init с аргументами Bounds и скроллерами, затем
         создает буфер (указываемый через Buffer) с  BufSize равным
         ABufSize. GrowMode    устанавливается    в   gfGrowHiX   +
         gfGrowHiY. QueFront  и  QueBack  инициализируются   в   0,
         указывая на   пустой  буфер.  Курсор  выводится  в  начале
         видимого элемента (0, 0).

         См. так же: TScroller.Init

 Done    destructor Done; virtual;            Перекрывается: Иногда
         Освобождает буфер    и   вызывает   TTextDevice.Done   для
         освобождения объекта.

         См. так же: TScroller.Done, TTextDevice.Done

 BufDec  procedure BufDec(var Val: Word);
         Используется для манипуляции смещением очереди с кольцевым
         переносом: если Val = 0,  Val устанавливается в BufSize-1;
         иначе Val уменьшается.

         См. так же: 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.

 StrRead function StrRead(var S: TextBuf) : Byte; virtual;
                                              Перекрывается: Иногда
         Абстрактный метод,  возвращающий  0.  Вы  должны перекрыть
         его,  если хотите, чтобы порожденный тип мог читать строки
         из текстового буфера.

 StrWrite  procedure StrWrite(var S:TextBuf; Count: Byte); virtual;
                                               Перекрывается: Редко
         Вставляет Count   строк   текста,   заданного   в   S,   в
         терминальный буфер.  Этот метод управляет любым  требуемым
         скроллингом, перерисовывая   видимый   элемент  с  помощью
         DrawView.

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

 QueEmpty  function QueEmpty: Boolean;
         Возвращает True, если QueFront равна QueBack.

         См. так же: TTerminal,QueFront, TTerminal.QueBack



Палитра

         Теримальные объекты  используют   палитру   по   умолчанию
         CScroller для  отображения  элементов  6  и  7  в  палитру
         стандартной программы.


                       1   2
                     +===+===+
         CScroller   | 6 | 7 |
                     +=+=+=+=+
         Нормальный ---+   +---- Подсвеченный



TTextDevice TextView


                  +---------+
                  | TObject |
                  +----+----+
                   +---+---+
                   | TView |
                   +---+---+
                 +-----+-----+
                 | TScroller |
                 +-----+-----+
                +======+======+
                | TTextDevice |
                +======+======+
                 +-----+-----+
                 | TTerminal |
                 +-----------+

         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 |
                     +=+=+=+=+
         Нормальный ---+   +---- Подсвеченный



TView Views


                        +---------+
                        | TObject |
                        +----+----+
                      +======+======+
                      |    TView    |
                      +++++++++++++++
        +--------------+|||||||||||+--------------+
        |        +------+|||||||||+------+        |
        |        |+------+|||||||+------+|        |
    +---+----+   ||+------+|||||+------+||    +---+----+
    | TGroup |   |||+------+|||+------+|||    | TFrame |
    +--------+   ||||+------+|+------+||||    +--------+
         +-------+||||  +----+----+  ||||+--------+
    +----+-----+  ||||  | TButton |  ||||   +-----+----+
    | TCluster |  ||||  +---------+  ||||   | THistory |
    +----------+  |||+------+        ||||   +----------+
          +-------+|| +-----+-----+  |||+--------+
    +-----+-----+  || | TScroller |  |||  +------+-----+
    | TMenuView |  || +-----------+  |||  | TScrollBar |
    +-----------+  ||       +--------+||  +------------+
           +-------+| +-----+------+  |+--------+
    +------+------+ | | TInputLine |  |  +------+------+
    | TBackGround | | +------------+  |  | TListViewer |
    +-------------+ |                 |  +-------------+
             +------+------+   +------+------+
             | TStatusLine |   | TStaticText |
             +-------------+   +-------------+

         Включите оператор

         uses Views;

         в программы,  которые используют  объекты  TView,  TFrame,
         TScrollBar, TScroller,   TListViewer,   TGroup,   TWindow.
         Трудно представить программу на Turbo Vision,  которая  не
         использует эти объекты.
         В программах на Turbo Vision  редко  создаются  экземпляры
         объектов TView.  Тип  объекта  TView обеспечивает основные
         поля и методы своим потомкам.



Поля

 Owner   Owner: PGroup;                               Только чтение
         Указывает на объект TGroup,  который владеет этим  видимым
         элементом. Если  nil,  видимый элемент не имеет владельца.
         Видимый элемент  отображается  внутри  видимого   элемента
         владельца и будет отсекаться по прямоугольнику владельца.

 Next    Next: PView;                                 Только чтение
         Указывает на следующий равный видимый элемент в Z-порядке.
         Если это  последний  подэлемент,  Next  указывает на Owner
         первого подэлемента.

 Origin  Origin: TPoint;                              Только чтение
         Координаты (X,  Y)  верхнего левого угла видимого элемента
         относительно Origin владельца.

         См. так же: MovTo, Locate

 Size    Size: TPoint;                                Только чтение
         Размер видимого элемента.

         См. так же: GrowTo, Locate

 Cursor  CurSor: TPoint;                              Только чтение
         Положение аппаратного курсора  внутри  видимого  элемента.
         Курсор видим   только   если   видимый   элемент   активен
         (sfFocused) и курсор включен (sfCursorVis).  Форма курсора
         или подчеркивание или блок (определен sfCursorIns).

         См. так    же:    SetCursor,    ShowCursor,    HideCursor,
         NormalCursor, BlockCursor

 GrowMode  GrowMode: Byte;                            Чтение/Запись
         Определяет, как видимый элемент будет увеличиваться, когда
         его владелец изменяет размер.  GrowMode определяется одной
         или более масками:

            Рис. 13.1. Отображение бит в GrowMode.

             +--- GrowMode --+
             msb           lsb
                      +-+-+-+--- gfGrowAll = $0F
             +=+=+=+=+++++++++
             +++=+++++++++++++
              +-+-+ | | | | +--- gfGrowLoX = $01
                |   | | | +----- gfGrowLoY = $02
       Неопределено | | +------- gfGrowHiX = $04
                    | +--------- gfGrowHiY = $08
                    +----------- gfGrowRel = $10


         Пример: GrowMode := gfGrowLoX or gfGrowLoY;

         См. так же: gfXXXX  константа grow mode

 DragMode  DragMode: Byte;                            Чтение/Запись
         Определяет поведение  видимого  элемента  при  перемещении
         мышкой.
         Биты DragMode определены:

             Рис. 13.2. Отображение бит в DragMode.

             +--- DragMode --+
             msb           lsb
              +-+-+-+----------- dmLimitAll = $F0
             +++++++++=+=+=+=+
             +++++++++=+=+++++
              | | | |     | +--- dmDragMove = $01
              | | | |     +----- dmDragGrow = $02
              | | | +----------- dmLimitLoX = $10
              | | +------------- dmLimitLoY = $20
              | +--------------- dmLimitHiX = $40
              +----------------- dmLimitHiY = $80

         Маски DragMode определены в  "Константы  DragMode  dmXXXX"
         главы 14.

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

 HelpCtx  HelpCtx: Word;                              Чтение/Запись
         Контекст подсказки  видимого   элемента.   Когда   видимый
         элемент активен,  это поле представляет контекст подсказки
         программы, если номер контекста подсказки  не  hcNoContext
         (в этом случае нет контекста подсказки).

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

 State   State: Word;                                 Только чтение
         Состояние видимого элемента  представлено  набором  бит  в
         поле State.  Многие  методы TView проверяют и/или изменяют
         поле State,   вызывая    TView.SetState.    TView.GetState
         (AState) возвращает  True,  если  State  видимого элемента
         равна AState.   Биты   State   мнемонически   представлены
         константами, описанными   в  "Константы  флагов  состояния
         sfXXXX" главы 14.

 Options  Options: Word;                              Чтение/Запись
         Флаги Options определяют поведение видимого элемента.
         Биты Options определены:

                      Рис. 13.3. Биты в Options.

    +-------- TView.Options --------+
    msb                           lsb
                 +-+------------------- ofCentered    = $0300
    +=+=+=+=+=+=+++++=+=+=+=+=+=+=+=+
    +++=+=+=+=+++++++++++++++++++++++
     +----+----+ | | | | | | | | | +--- ofSelectable  = $0001
          |      | | | | | | | | +----- ofTopSelect   = $0002
   Неопределено  | | | | | | | +------- ofFirstClick  = $0004
                 | | | | | | +--------- ofFramed      = $0008
                 | | | | | +----------- ofPreProcess  = $0010
                 | | | | +------------- ofPostProcess = $0020
                 | | | +--------------- ofBuffered    = $0040
                 | | +----------------- ofTileable    = $0080
                 | +------------------- ofCenterX     = $0100
                 +--------------------- ofCenterY     = $0200

         Для детального описания флагов см. "Константы флагов опций
         ofXXXX" главы 14.

 EventMask  EventMask: Word;                          Чтение/Запись
         EventMask - это битовая маска,  которая определяет,  какие
         классы событий  будут распознаваться видимым элементом. По
         умолчанию EventMask  разрешает  evMouseDown,  evKeyDown  и
         evCommand. Назначение  EventMask  равным  $FFFF заставляет
         видимый элемент  реагировать  на  все  классы  событий;  а
         значение  0  приводит  к  тому,  что  видимый  элемент  не
         реагирует на  любые  события.  Для   детального   описания
         классов событий см. "Константы событий evXXXX" главы 14.

         См. так же: HandleEvent методы



Методы 

 Init    constructor Init(var Bounds: TRect);  Перекрывается: Часто
         Создает объект   TView   с  прямоугольником  Bounds.  Init
         вызывает TObject.Init  и  создает  поля  нового  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 и читает оставшиеся поля из потока.

         См. так же: TView.Store, TStream.Get, TStream.Put

 Done    destructor Done; virtual;             Перекрывается: Часто
         Скрывает видимый элемент и затем, если он имеет кладельца,
         удаляет его из группы.

 HandleEvent  procedure HandleEvent(var Event: TEvent); virtual;
                                              Перекрывается: Всегда
         Центральный метод,   через   который    реализована    вся
         обработка событий Turbo Vision.  Поле What параметра Event
         содержит класс события (evXXXX) и  оставшиеся  поля  Event
         описывают событие. Для указания, что он обработал событие,
         HandleEvent должен вызывать ClearEvent.  HandleEvent почти
         всегда перекрывается в порожденных объектных типах.
         TView.HandleEvent обрабатывает     события     evMouseDown
         следующим образом:   если   видимый   элемент   не  выбран
         (sfSelected) и не запрещен  (sfDisabled)  и  если  видимый
         элемент -  выбираемый  (ofSelectable),  то видимый элемент
         выбирает себя,   вызывая   Select.   Другие   события    в
         TView.HandleEvent не обрабатываются.

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

 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
         константы  grow mode

 ChangeBounds  procedure ChangeBounds(var Bounds: TRect); virtual;
                                               Перекрывается: Редко
         Должен изменять границы видимого элемента (поля  Origin  и
         Size) на прямоугольник,  заданный параметром Bounds. После
         изменения границ ChangeBounds должен  перерисовать видимый
         элемент. ChangeBounds   вызывается   различными   методами
         TView, но не должен вызываться прямо.

         См. так же: 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.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  константы drag mode

 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 становится
         значение, возвращаемое из TGroup.ExecView.
         TView.ExecView просто возвращает cmCancel.

         См. так же: sfModal, TGroup.Execute, TGroup.ExecView

 Exposed  function Exposed: Boolean;
         Возвращает True,  если любая часть видимого элемента видна
         на экране.

         См. так же: sfExposed, TView.DrawView

 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; Перекрывается: Редко
         Должна копировать DataSize байт  из  видимого  элемента  в
         запись данных   Rec.   Механизм   записей   данных  обычно
         используется только в видимых элементах, которые реализуют
         элементы управления для диалоговых окон.
         По умолчанию TView.GetData ничего не делает.

         См. так же: TView.DataSize, TView.SetData

 GetEvent  procedure GetEvent(var Event: TEvent); virtual;
                                               Перекрывается: Редко
         Возвращает следующее   доступное   событие    в    TEvent.
         Возвращает 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;
                                               Перекрывается: Редко
         Должна возвращать контекст подсказки видимого элемента.
         По умолчанию  TView.GetHelpCtx  возвращает  значение  поля
         HelpCtx или возвращает hcDragging,  если  видимый  элемент
         перемещается мышкой (см. sfDragging).

         См. так же: HelpCtx

 GetPalette  function GetPalette: PPalette; virtual;
                                              Перекрывается: Всегда
         Должна возвращать  указатель  на палитру видимого элемента
         или nil, если видимый элемент не имеет палитры. GetPalette
         вызывается из   GetColor,   WriteChar   и   WriteStr   при
         преобразовании индексов  палитры  в  физические   атрибуты
         символов. При  возвращаемом  значении nil трансляция цвета
         этим видимым элементом не производится.  GetPalette  почти
         всегда перекрывается в порожденных типах объектов.

         См. так же: TView.GetColor, TView.WriteXXXX

 GetPeerViewPtr  procedure GetPeerViewPtr(var S: TStream; var P);
         Загружает указатель Р равного видимого элемента  из потока
         S. Равный  видимый  элемент - это видимый элемент с тем же
         владельцем, что и  у  этого  видимого  элемента;  например
         TScroller содержит  2 равных видимых элемента HScrollBar и
         VScrollBar. GetPeerViewPtr  должен  использоваться  только
         внутри констрактора  Load  для чтения значений указателей,
         которые были записаны при вызове PutPeerViewPtr  из метода
         Store. Загруженное в Р значение не является действительным
         до тех пор,  пока владелец видимого элемента  не  завершит
         полностью операцию Load; следовательно ссылка по указателю
         на равный видимый элемент внутри констрактора 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

 Hide    procedure Hide;
         Прячет видимый элемент, вызывая SetState для очистки флага
         sf Visible в 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.MakeGlobal, TView.MouseInView

 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;

         См. так же: 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

 PutInFontOf  procedure PutInFontOf(Target: PView);
         Помещает видимый элемент перед видимым элементом  Target в
         списке подэлементов владельца. Вызов

         TView.PutInFontOf(Owner^.First);

         эквивалентен TView.MakeFirst. Этот метод работает, изменяя
         указатели в списке подэлементов.  В зависимости от позиции
         других  видимых  элементов  и  их состояния,  PutInFrontOf
         может отсекать закрываемые видимые элементы.  Если видимый
         элемент  -  выбираемый  (см.  ofSelectable)  и  помещается
         сверху всех других подэлемиентов,  этот видимый подэлемент
         становится выбранным.

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

 PutPeerViewPtr   procedure  PutPeerVieewPtr(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

 SetCommands  procedure SetCommands(Commands: TCommandSet);
         Изменяет текущий  набор  команд  на  заданный   аргументом
         Commа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 иногда     перекрывается      для      выполнения
         дополнительных действий,  основанных  на флагах состояний.
         Например, тип  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 константы
         state flag

 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.

         См. так же: 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
         должна проверять правильность видимого элемента.
         Valid должна  сообщить пользователю,  если видимый элемент
         неправильный, например используя  программу  MessageBox  в
         модуле StdDlg.
         Типы объектов,  определенные в модуле StdDlg содержат  ряд
         примеров перекрытия Valid.
         По умолчанию 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

 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 c цветом элемента с номером Color в
         палитре видимого элемента,  начиная с точки (X,Y).  Должен
         использоваться только в методе Draw.

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



TWindow Views


                    +---------+
                    | TObject |
                    +----+----+
                    +----+----+
                    |  TView  |
                    +----+----+
                    +----+----+
                    | TGroup  |
                    +-+--+--+-+
           +----------+  |  +------------+
      +====+====+   +----+-----+  +------+-------+
      | TWindow |   | TDeskTop |  | TProgram     |
      +====+====+   +----------+  +------+-------+
      +----+----+                 +------+-------+
      | TDialog |                 | TApplication |
      +---------+                 +--------------+

         Объект TWindow  -  это  группа,  которая  обычно   владеет
         объектом TFrame,  объектом интерьера TScroller и одним или
         двумя объектами TScrollBar.  Объект TFrame задает  обычную
         рамку, размещает   необязательный   заголовок  и  номер  и
         функциональные кнопки     (закрытия,      масштабирования,
         перемещения). Объекты TWibdow имеют встроенные возможности
         перемещения и   масштабирования   с   помощью   мышки    и
         клавиатуры. Они   могут   масштабироваться  и  закрываться
         отметкой мышки соответствующих кнопок.  Они так же "знают"
         как работать  с  полосами  скроллинга и скроллера.  Окна с
         номерами от 1 до 9 могут выбираться клавишами Alt-n  (n от
         1 до 9).



Поля

 Flags  Flags: Byte;                                  Чтение/Запись
         Поле Flags содержит комбинацию следующих бит:

          + TWindow.Flags +
          |               |
          msb           lsb
          +=+=+=+=+=+=+=+=+
          +++=+=+++++++++++
           +--+--+ | | | +- wfMove  = $01
              |    | | +--- wfGrow  = $02
      Неопределено | +----- wfClose = $04
                   +------- wfZoom  = $08

         Описание флагов окна см.  в "Константы флагов окна wfXXXX"
         главы 14.

 ZoomRect  ZoomRect: TRect;                           Только чтение
         Нормальные несмасштабированные границы окна.

 Number  Number: Integer;                             Чтение/Запись
         Номер этого  окна.  Если TWindow.Number в диапазоне 1 - 9,
         номер будет появляться в заголовке рамки и окно может быть
         выбрано клавишами Alt-n (n от 1 до 9).

 Palette  Palette: Integer;                           Чтение/Запись
         Определяет какая   палитра   окна   будет  использоваться:
         wpBlueWindow, wpCyanWindow,   wpGrayWindow.   Палитра   по
         умолчанию wpBlueWindow.

         См. так же: TWindow.GetPalette, wpXXXX константы

 Frame   Frame: PFrame;                               Только чтение
         Frame - это указатель на объект TFrame, связанный с окном.

         См. так же: TWindow.InitFrame

 Title   Title: RString;                              Чтение/Запись
         Строка символов,  определяющая (необязательный) заголовок,
         который появляется в рамке.



Методы

 Init    constructor  Init(var  Bounds: TRect;  ATitle:  TTitleStr;
                           ANumber: Integer);
         Вызывает TGroup.Init(Bounds).    Устанавливает   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, вызывая TGroup.Load,
         затем читая дополнительные поля, введенные в TWindow.

         См. так же: TGroup.Load

 Done    destructor Done; virtual;            Перекрывается: Иногда
         Освобождает окно и подэлементы.

 Close   procedure Close; virtual;             Перекрывается: Редко
         Закрывает и освобождает окно обычно в ответ  на  командное
         событие cmClose. Соответствует вызову дестрактора Done.

 GetPalette  function GetPalette: PPalette; virtual;
                                              Перекрывается: Иногда
         Возвращает указатель на палитру, заданную индексом палитры
         в поле Palette.

         См. так же: TWindow.Palette

 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;
                                               Перекрывается: Часто
         Вначале вызывает  TGroup.HandleEvent,  затем  обрабатывает
         специфические для 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 может  быть  перекрыт  для  создания  экземпляра
         объекта, порожденного от TFrame.

         См. так же: TWindow.Init

 SetState  procedure   SetState(AState:  Word;   Enable:  Boolean);
                               virtual;        Перекрывается: Редко
         Вначале вызывает TGroup.SetState. Затем, если AState равно
         sfSelected, активизирует или деактивизирует окно и все его
         подэлементы, используя вызов SetState(sfActive,  Enable) и
         вызов TView.EnebleCommands  или  TView.DisableCommands для
         cmNext, cmPrev, cmResize, cmClose и cmZoom.

         См. так      же:      TGroup.SetState,     EnableCommands,
         DisableCommands

 SizeLimits  procedure SizeLimits(var Min, Max: TPoint); virtual;
                                               Перекрывается: Редко
         Перекрывает TView.SizeLimits.  Вызывает  TView.SizeLimits,
         затем изменяет Min  на  значение,  хранимое  в  глобальной
         переменной MinWindowSize.

         См. так  же:  TView.SizeLimits, MinVinSize переменная

 StandardScrollBar  function   StandardScrollBar(AOptions:   Word):
                                                 PScrollBar;
         Создает, вставляет     и     возвращает    указатель    на
         "стандартную" полосу скроллинга  для  окна.  "Стандартный"
         означает, что  полоса  скроллинга вставляется в рамку окна
         не закрывая углов или кнопки масштабирования.
         Параметр AOptions   может   быть   либо  sbGorizontal  для
         создания горизонтальной полосы скроллинга внизу окна, либо
         sbVertical для  создания  вертикальной полосы скроллинга в
         правой стороне окна,  либо  может  быть  скомбинировано  с
         sbHandleKeyboard, чтобы    разрешить   полосе   скроллинга
         откликаться на клавиши стрелок  и  страниц,  а  не  только
         отметок от мышки.

         См. так же: sbXXXX  константы scroll bar

 Store   procedure TWindow.Store(var S: TStream);
         Сохраняет окно в потоке  S,  вызывая  TGroup.Store,  затем
         записывая дополнительные поля, определенные в 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|
             +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
Пассивная     -+   |   |   |   |   |   |   +-- Зарезервировано
рамка              |   |   |   |   |   |
Активная рамка ----+   |   |   |   |   +---- Выбранный текст
                       |   |   |   |         скроллера
Кнопка рамки ----------+   |   |   +-------- Нормальный текст
                           |   |             скроллера
Страница полосы -----------+   +------------ Зарезервировано
скролинга
                              Назад | Содержание | Вперед

 

 

\

Подписка на новости IT-портала citforum.ck.ua
(библиотека, citforum.ck.ua, CitCity)

Новые публикации:

12 марта

  • Восход и закат High Performance Fortran: наглядный урок истории (пересказ: С.Кузнецов)
  • citforum.ck.ua:

    Новые Блогометки:

  • Ccze: хорошее модульное средство подсветки логов
  • PWSafe - кроссплатформенное средство для работы с паролями
  • colordiff - подсветка для diff
  • psmisc: рассмотрим ближе стандартный пакет
  • Работа с сетью
  • xkb, узелок на память
  • ffmpeg-php
  • debiannotes:desktop:prettyfonts
  • 5 марта

    citforum.ck.ua:

  • Ричард Столлман в Москве
  • О мудром доценте замолвите слово... (Интенсификация Малаховна)
  • Новые Блогометки:

  • "Десктопизация" OpenBSD
  • weather: проверяйте сводку и прогноз погоды из командной строки
  • hpodder: клиент подкастов, который просто работает
  • bc: язык численных расчетов с произвольной точностью
  • Decibel: аудиоплеер для людей
  • GNU Wget: загрузите весь понравившийся сетевой контент на локальный компьютер
  • Deborphan: найдите ненужные пакеты
  • Kivio: мощный и простой в использовании редактор блок-схем
  • Cowsay: настраиваемая говорящая и думающая корова
  • Thoggen: основанная на GTK+ программа для извлечения видео с DVD
  • 28 февраля

  • Подбор и развитие команд
    Глава из книги «Руководство командой разработчиков программного обеспечения. Прикладные мысли» (С.Архипенков)
  • citforum.ck.ua:

    Дискуссия об анонимусах:

  • К комментаторам
  • Windows против Linux - психологический портрет участников форумов
  • Новые Блогометки:

  • Nokia N810 - Linux Inside
  • LiMo - стандарты Linux для сотовых телефонов
  • timer-applet: таймер для панели GNOME
  • Debfoster: удалите пакет и все его зависимости
  • GPW: генератор произносимых паролей
  • AMOR: общество для рабочего стола
  • 20 февраля

    citforum.ck.ua:

    Новые Блогометки:

  • Кое-что о приложениях KDE 4
  • Инструкция по установке KDE 4 в Ubuntu
  • Настоящие мужчины ставят KDE из SVN!
  • Начат переход Amarok на Qt 4.4
  • Marble
  • Dillo - сверхбыстрый браузер
  • Создаем резервные копии настроек программ и важных файлов в Ubuntu LInux
  • NTP: всегда вовремя
  • VYM - простое средство зарисовки мыслей и планирования
  • KBibTeX: простой и гибкий редактор библиографий для KDE
  • Дискуссия Windows vs Linux:

  • Жил-был Мальчик, или Сказочка о Том, Откуда Берутся "КУЛХАЦКЕРЫ", ненавидящие Линукс и Юникс
  • 13 февраля

  • Терминологический словарь Wi-Fi
  • Задача проектирования базы данных методом нормализации
  • CitCity:

  • Лучшие смартфоны начала 2008 года
  • citforum.ck.ua:

  • Первый взгляд на Firefox 3.0
  • Open Source на Белгородщине: семинар в Старом Осколе
  • Что такое KDE?
  • Цикл о Slackware:

  • Русский в консоли
  • Быстрая настройка Иксов
  • xorgconfig - консольный подход
  • 6 февраля

    citforum.ck.ua:

  • Мобильный Linux – вчера, сегодня, завтра
  • Чем записать диски в Linux? Попробуй Brasero!
  • Консольные команды
  • Рецепты. Кое-что о программе mplayer
  • Slackware:
    • Что такое Slackware?
    • Установка Slackware - Загрузка
    • Категории программного обеспечения
    • Структура файловой системы
    • Система инициализации Slackware Linux
    • Скрипты инициализации уровня запуска

    30 января

  • Обзор алгоритмов MOLAP
  • CitCity:

  • BI-технологии 2007. Итоги года
  • Рынок СУБД для Хранилищ данных 2007. Итоги года, тенденции
  • Обзор рынка BI (по результатам исследований IDC, OLAP Report, Gartner)
  • Модель зрелости BI
  • citforum.ck.ua:

  • Владимир Попов: За что я люблю Linux
  • Священные войны
  • 23 января

  • Data Mining от Oracle: настоящее и будущее
  • Комментарии к статье Ч.Бергера «Data Mining от Oracle: настоящее и будущее»
  • Байесовский классификатор и регрессионная модель в ORTD: практический пример
  • citforum.ck.ua:

    Дискуссия Windows vs Linux:

  • Программисты и фирмы: кто кого
  • О "чистых пользователях"
  • Новые Блогометки:

    • Почему Jabber, а не ICQ?
    • Archlinux install quick
    • Arch на IBM Z60m
    • Arch + IBM R50e
    • OpenBSD - сборка E17-cvs (или ещe одна маленькая победа разума)
    • OpenBSD - всe для Человека и ради Человека...
    • PekWM
    • E17 и "прозрачность"
    • E17 - приятные мелочи (multimedia)
    • SuSE + Enlightenment = угробил целый день

    16 января

  • Вьетнам компьютерной науки (пересказ - С.Кузнецов)
  • Пример построения автоматизированного управления дисками (ASM) (В. Пржиялковский)
  • CitCity:

  • 2008 год: антипрогноз
  • citforum.ck.ua:

    Новые Блогометки:

    Сети и Интернет:

    • Mozilla firefox. Шрифты в меню
    • Screen tips
    • Liferea: программа чтения RSS для GNOME
    • HTTrack: скачивание и зеркалирование сайтов
    • Clusterssh: работа с несколькими сеансами SSH через общий интерфейс

    Десктопы:

    • Fluxbox & xinitrc. Some new tips
    • Как я конфигурировал xdm

    Системы:

    • SuSE 10.2: zypper - еще один способ установки пакетов
    • cpipe: определите пропускную способность конвейера команд
    • gddrescue: средство восстановления данных с поврежденных носителей
    • VirtualBox: ваш виртуальный ПК

    Приложения:

    • MyTop: top для MySQL

    10 января

    citforum.ck.ua:

    Дискуссионный клуб:

  • Краткое руководство по общению с никсофилами (Интенсификация Малаховна Сергина-Гейтс)
  • О троллях
  • Пещера горного короля: заметки о троллинге
  • Новые Блогометки:

    Сети и Интернет:

    • Делаем блог на Drupal
    • Использование lftp
    • Устанавливаем FTP сервер ProFTPd с TLS шифрованием
    • Управляем файлами на FTP сервере с помощью FileZilla

    Десктопы:

    • fluxbox.autorun
    • 15 человек на сундук мертвеца! (или песнь о зарытых сокровищах)

    Системы:

    • Живой Debian или рабочее место в кармане
    • Разбивка hdd

    Приложения:

    • Cat Excel files
    • Vim: меню выбора кодировок

    26 декабря

    citforum.ck.ua:

  • В Блогометках открыты разделы:
    • Софт для Windows
    • Сети и Интернет
  • dwm. От статики к динамике
  • Установил Solaris
  • Новая Дискуссия:
    • Нужен ли русский Linux?

    19 декабря

  • SQL Anywhere: встраиваемая СУБД
  • citforum.ck.ua:

  • В разделе Блогометки появились рубрики:
    • Десктопы
    • Приложения
    • Системы
  • Подробно о разделе: Блоги и блогометки: открываем сезон промывки
  • 13 декабря

    CitCity:

  • Microsoft и Барселона: сюрреализм?
  • citforum.ck.ua:

  • Открыт новый раздел Блогометки
  • ZFS в подробностях. 1. Былое и ныне
  • 5 декабря

  • Архитектура предприятия: основные определения
  • Архитектуры для государственных ведомств. Примеры
  • Обзор журнала Computer:

  • Высокопроизводительные встроенные системы
  • citforum.ck.ua:

  • Продолжение цикла Linux для начинающих:
    • Пользовательские интерфейсы
    • Файлы
    • Системы настройки

    Все публикации >>>




IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей Пресс-релизы -
Послать комментарий
Информация для авторов
Rambler's Top100 хостинг от .masterhost This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2007 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...