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

Friday, 14-Mar-2008 17:12:04 EET

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

СПРАВОЧНИК ПО ОБЪЕКТАМ.


THistory


                  +----------+
                  | TObject  |
                  +----+-----+
                  +----+-----+
                  |  TView   |
                  +----+-----+
                  +====+=====+
                  | THistory |
                  +==========+

         Объект THistory реализует список  для
         значений, действий    или    выборов.
         связываютя с объектом TInputLine  и  со
         Информация списка  истории  хранится  в
         Когда блок заполняется,  наиболее стары
         удаляются, а новые добавляются.
         Объект THistory показан как кнопка (|щ|
         ввода. Когда  пользователь отмечает кно
         Vision открывает окно истории  (смотри
         просмотром истории   (смотри  THistoryV
         список предыдущих элементов.
         Различные строки  ввода  могут  использ
         истории, используя одинаковый номер ID.


                           Поля

 Link: PInputLine;                                   Только чтение
         Указатель на связанный объект TInputLine.


 HistoryID HistoryID: Word;                          Только чтение
         Каждый список   истории   имеет   уникальный   номер   ID,
         назначаемый программистом.  Различные  объекты  историй  в
         различных окнах могут разделять список  истории, используя
         одинаковый ID номер.



                                  Методы 

 Init    constructor  Init(var  Bounds: TRect;  ALink: PInputLine;
                        AHistoryID: Word);
         Создает объект   THistоry   заданного   размера,   вызывая
         TView.Init, затем  устанавливает  поля  Link  и  HistoryId
         значениями, заданными   в   аргументах.    Поле    Options
         устанавливатся в ofPostProcess, а EventMask в evBroadcast.

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

 Load    constructor Load(var S: TStream);
         Создает и  инициализирует  объект  History   из   TStream,
         вызывая  TView.Load(S) и читая Link и HistoryId из S.

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

 Draw    procedure Draw; virtual;              Перекрывается: Редко
         Рисует кнопку History в палитре по умолчанию.

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

 Store   procedure Store(var S:TStream);
         Сохраняет объект     THistory     в    TStream,    вызывая
         TView.Store(S), затем записывает Link и HistoryId в S.

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



                                  Палитра

         Кнопки истории  используют  палитру  по умолчанию CHistory
         для отображения   14   и   20-го   элементов   в   палитру
         стандартного диалогового окна.


                         1    2
                      +====+====+
         CHistory     | 14 | 20 |
                      +==+=+=+==+
         Стрелка --------+   +------- Стороны



THistoryViewer Dialogs


         THistoryViewer -   прямой    потомок    TListViewer.    Он
         используется системой  списка  истории и появляется внутри
         окна истории при отметке кнопки  истории.  Для  детального
         описания взаимодействия    THistory,    THistoryWindow   и
         THistoryViewer смотри  THistory в этой главе.



                                 Поля

 HistoryID  HistoryID: Word;                         Только чтение
         HistoryId - это ID номер списка истории,  отображаемого  в
         этом видимом элементе.



                                   Методы

 Init    constructor Init(var Bounds:TRect;
           AHScrollBar, AVScrollBar: PScrollBar; AHistoryID: Word);
         Init инициализирует  видимый  элемент   просмотра  списка,
         вначале вызывая  TListViewer.Init  для  установки  границ,
         одной колонки и  двух  полос  скроллинга,  передаваемых  в
         AHScrollBar и  AVScrollBar.  Видимый  элемент  связывается
         затем со   списком    истории,    с    полем    HistoryId,
         установленным в  значение,  переданное  в  AHistory.  Этот
         список проверяется затем на длину так, что диапазон списка
         устанавливается в  число  списка.  Первый элемент в списке
         истории дан   как   активный.   Диапазон   горизонтального
         скроллинга устанавливается  в соответствие с самым широким
         элементом списка.

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

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

 GetText  function GetText(Item: Integer; MaxLen: Integer): String;
         virtual;                              Перекрывается: Редко
         Возвращает строку Item в связанном списке истории. GetText
         вызывается виртуальным методом Draw для  каждого  видимого
         элемента в списке.

         См. так же: TListViewer.Draw, HistoryStr function

 HandleEvent procedure HandleEvent(var Event: TEvent); virtual;
                                              Перекрывается: Иногда
         Видимый элемент  просмотра  истории управляет двумя видами
         событий; все другие передаются  в TListViewer.HandleEvent.
         Двойная отметка  или нажатие клавиши Enter будут завершать
         модальное состояние окна истории с командой cmOK.
         При нажатии  клавиши  Esc или получении командного события
         cmCancel, выбор списка истории будет  отменен.

         См. так же: TListViewer.HandleEvent

 HistoryWidth function HistoryWidth: Integer;
         Возвращает длину  самой  длинной  строки в списке истории,
         связанном с HistoryId.



                                  Палитра

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


                     1   2   3   4   5
                   +===+===+===+===+===+
   CHistoryViewer  | 57| 58| 58| 61| 62|
                   +=+=+=+=+=+=+=+=+=+=+
   Активный ---------+   |   |   |   +-- Разделитель
   Неактивный -----------+   |   +------ Выбранный
   Сфокусированный ----------+



THistoryWindow Dialogs


         THistoryWindow -   это   специализированный  наследник  от
         TWindow, используемый   для   объекта   просмотра   списка
         истории, когда   пользователь   отмечает  кнопку  истории,
         стоящую за строкой  ввода.  По  умолчанию  окно  не  имеет
         заголовка и  номера.  Рамка окна истории имеет закрывающую
         кнопку, поэтому окно  может  быть  закрыто,  но  не  может
         изменить размер или масштабироваться.
         Для деталей по использованию  списков истории  и связанных
         с ними объектов см. THistory в этой главе.


                              Поля 

 Viewer  Viewer: PListViewer;
         Viewer указывает на список просмотра окна истории.


                             Методы

 Init    constructor  Init(var Bounds: TRect; HistoryId: Word);
         Вызывает TWindow.Init   для  установки  окна  с  заданными
         границами, пустой строкой  заголовка  и  без  номера  окна
         (wnNoNumber). Поле    TWindow.Flags    устанавливается   в
         wfClose, чтобы  обеспечить  закрывающую  кнопку  и  объект
         просмотра истории   создается,   чтобы  показать  элементы
         списка истории, заданные через HistoryID.

         См. так же: TWindow.Init, THistoryWindow.InitViewer

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

 GetSelection  function GetSelection: String; virtual;
                                             Перекрывается: Никогда
         Возвращает строковое   значение   активного   элемента  из
         просмотра истории.


         См. так же: THistoryViewer.GetText

 InitViewer  procedure InitViewer(HistoryOd: Word); virtual;
                                             Перекрывается: Никогда
         Создает и  вставляет  объект  THistoryViewer внутри границ
         окна истории  со  списком,   заданным   через   HistoryId.
         Стандартные полосы  скроллинга размещены на рамке окна для
         скольжения по списку.

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


                                  Палитра

         Объекты окна  истории  используют  по  умолчанию   палитру
         CHistoryWindow для  отображения на элементы с 19 по 25-й в
         палитре стандартного диалогового окна.

                  1    2    3    4    5    6    7
               +====+====+====+====+====+====+====+
CHistoryWindow | 10 | 11 | 12 | 13 | 14 | 14 | 14 |
               +==+=+==+=+==+=+==+=+==+=+==+=+==+=+
Пассивная рамка --+    |    |    |    |    |    +-- Выбранный текст
Активная рамка  -------+    |    |    |    |
Кнопка рамки ---------------+    |    |    +------ Нормальный текст
                                 |    |
                                 |    +-------- Элементы управления
                                 +------------- Область страницы



TInputLine Dialogs


                  +-------------+
                  |  TObject    |
                  +------+------+
                  +------+------+
                  |   TView     |
                  +------+------+
                  +======+======+
                  |  TInputLine |
                  +=============+

         Объект TInputLine  обеспечивает  редактор строк ввода.  Он
         управляет вводом  с  клавиатуры  и  мышки  и  перемещением
         помеченных блоков   в  различных  функциях  редактирования
         строки (см.   TInputLine.HandleEvent).   Выбранный   текст
         удаляется и  заменяется  первым  введенным  текстом.  Если
         MaxLen больше  размера  по  Х   (Size.X),   поддерживается
         горизонтальный скроллинг,  который  указывается  правой  и
         левой стрелками.
         Методы GetData и SetData предназначены для записи и чтения
         строк данных  (через поле указателя Data) в данную запись.
         TInputLine.SetState упрощает перерисовку видимого элемента
         соответствующим цветом,  когда состояние изменяется из или
         в sfActive и sfSelected.
         Строка ввода часто имеет  ассоциированные  с  ним  объекты
         TLabel и/или THistory.
         TInputLine можно  расширить  для  обработки  типов  данных
         отличных от строк.  Чтобы сделать это, Вы добавляете новые
         поля и  перекрываете  методы  Init,  Load,  Store,  Valid,
         DataSize, GetData  и SetData.  Например,  чтобы определить
         строку ввода  числа,  Вы  можете  задать   минимальное   и
         максимальные допустимые     значения,     которые    будут
         проверяться функцией Valid. Эти минимальные и максимальные
         поля будут  загружаться  и  сохраняться  в потоке методами
         Load и Store.  Valid модифицируется для проверки того, что
         значение находится   в   допустимом   диапазоне.  DataSize
         модифицируется для включения размера диапазона новых полей
         (вероятно SizeOf(Longint) для каждого).  В этом примере не
         обязательно добавлять   поле   для   хранения    числового
         значения. Оно   может  храниться  как  строковое  значение
         (которое    уже    обрабатывается    в    TInputLine)    и
         преобразовываться  из строки в числовое значение и обратно
         методами GetData и SetData соответственно.


                                 Поля

 Data    Data: PString;                               Чтение/Запись
         Указатель на строку, содержащую редактируемую информацию.

 MaxLen  MaxLen: Integer;                             Только чтение
         Максимальная длина,  допустимая для строки,  включая  байт
         длины.

         См. так же: TInputLine.DataSize

 CurPos  CurPos: Integer;                             Чтение/Запись
         Индекс на точку вставки (т.е. на текущую позицию курсора).


         См. так же: TInputLine.SelectAll
 FirstPos  FirstPos: Integer;                         Чтение/Запись
         Индекс на первый отображаемый символ.

         См. так же: TInputLine.SelectAll

 SelStart  SelStat: Integer;                          Только чтение
         Индекс на начало выбранной области (т.е.  на первый символ
         отмеченного блока).

         См. так же: TInputLine.SelectAll

 SelEnd  SelEnd: Integer;                             Только чтение
         Индекс на  конец  выбранной  области  (т.е.  на  последний
         символ отмеченного блока).

         См. так же: TInputLine.SelectAll



                               Методы

 Init    constructor Init(var Bounds: TRect; AMaxLen: Integer);
         Создает прямоугольник  ввода   с   заданными   значениями,
         вызывая TInputLine.Init.     State    устанавливается    в
         sfCursorVis, Options  устанавливается  в  (ofSelectable  +
         ofFirstClick), и  MaxLen устанавливается в AMaxLen. Память
         распределяется и очищается под AMaxLen +  1  байт  и  поле
         Data устанавливается для указания этого распределения.

         См. так       же:      TView.Init,      TView.sfCursorVis,
         TView.ofSelectable, TView.ofFirstClick

 Load    constructor Load(var S: TStream);
         Создает и инициализирует объект TInputLine, вызывая TView.
         Load(S) для  загрузки  видимого элемента из потока,  затем
         читает целочисленные поля,  используя S.Read, распределяет
         MaxLen+1 байт   через   Data,   вызывая   GetMem.  Наконец
         устанавливает байт длины  строки  и  загружает  данные  из
         потока двумя   дополнительными   вызовами   S.Read.   Load
         используется совместно с TInputLine.Store для сохранения и
         восстановления объектов TInputLine из TStream.
         Перекрывайте этот  метод,  если  Вы  определили  потомков,
         содержащих дополнительные поля.

         См. так же: TView.Load, TInputLine.Store, TStream.Read

 Done    destructor Done; virtual;             Перекрывается: Редко
         Освобождает память Data,  затем  вызывает  TView.Done  для
         разрушения объекта TInputLine.

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

 DataSize  function DataSize: Word; virtual;  Перекрывается: Иногда
         Возвращает размер   записи   для   TInputLine.GetData    и
         TInputLine.SetData. По  умолчанию  возвращается  MaxLen+1.
         Перекройте этот метод,  если Вы  определили  потомков  для
         обработки других типов данных.

         См. так же: TInputLine.GetData, TInputLine.SetData

 Draw    procedure Draw; virtual;              Перекрывается: Редко
         Рисует прямоугольник ввода  и  его  данные.  Прямоугольник
         рисуется соответствующим цветом  в  зависимости  от  того,
         является  ли  он  sfFocused  или нет (т.е.  находится ли в
         видимом элементе курсор или нет) и стрелки  рисуются, если
         строка  ввода  превышает размер видимого элемента (в любом
         или в обоих  направлениях).  Любые  выбранные  (отмеченный
         блок) символы рисуются соответствующим цветом.

 GetData procedure GetData(var Rec); virtual; Перекрывается: Иногда
         Записывает DataSize   байт   из  строки  Data^  в  запись.
         Используется с   TInputLine.SetData   в   ряде   программ,
         например во временной памяти или при передаче строки ввода
         в другие видимые элементы.  Перекройте этот метод, если Вы
         определяете потомка   для   обработки   нестроковых  типов
         данных. Используйте этот метод  для  преобразования  Ваших
         типов данных в строку, редактируемую с помощью TInputLine.

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

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

 HandleEvent  procedure HandleEvent(var Event: TEvent); virtual;
                                              Перекрывается: Иногда
         Вызывает TView.HandleEvent,   которая   обрабатывает   все
         события от мышки и клавиатуры,  если  прямоугольник  ввода
         выбран. Этот    метод    реализует   стандартные   функции
         редактирования.
         Функции редактирования  включают:  отметку  блока  мышкой;
         удаление блока, вставку или перекрытие элемента управления
         с автоматическим  изменением формы курсора; автоматический
         и ручной  скроллинг (зависит  от  относительных   размеров
         строки Data  и  Size.X);  ручной  горизонтальный скроллинг
         через отметку мышкой на кнопках стрелок;  ручное  движение
         курсора с  помощью стрелок Home и End;  удаление символа и
         блока с   помощью   Del   и   Ctrl-G.   Видимый    элемент
         перерисовывается при   необходимости   и  поля  TInputLine
         соответственно изменяются.

         См. так      же:      sfCursorIns,      TView.HandleEvent,
         TIputLine.SelectAll

 SelectAll  procedure SelectAll(Enable: Boolean);
         Устанавливает CurPos, FirstPos и SelStart в 0. Если Enable
         установлен в True,  SelEnd устанавливается в Length(Data^)
         выбирая таким   образом  всю  строку  ввода.  Если  Enable
         установлен в False,  SelEnd  устанавливается  в  0  снимая
         таким образом выбор всей строки.  Наконец, видимый элемент
         перерисовывается вызовом DrawView.

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

 SetData procedure SetData(var Rec); virtual; Перекрывается: Иногда
         По умолчанию читает DataSize байт из записи в строку Data^
         и вызывает SelectAll(True) для установки  CurPos, FirstPos
         и SelStart в 0; SelEnd устанавливается на последний символ
         Data^ и видимый элемент перерисовывается.  Перекройте этот
         метод, если    Вы   определили   потомка   для   обработки
         нестроковых  типов  данных.  Используйте  этот  метод  для
         преобразования   из   строки   в   Ваш  тип  данных  после
         редактирования с помощью InputLine.

         См. так   же:   TInputLine.DataSize,   TInputLine.GetData,
         TView.DrawView

 SetState  procedure   AetState(AState:  Word;   Enable:  Boolean);
                               virtual;        Перекрывается: Редко
         Вызывается, когда    прямоугольник   ввода   должен   быть
         перерисован (например   при   изменении   палитры)   после
         изменения State.  Вызов  TView.SetState  устанавливает или
         очищает поле  State  видимого  элемента  заданными  битами
         AState. Затем,  если AState - sfSelected или если AState -
         sfActive и прямоугольник ввода - sfSelected, то вызывается
         SelectAll(Enable).

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

 Store   procedure Store(var S: TStream);
         Сохраняет видимый    элемент     в     потоке,     вызывая
         TView.Store(S), затем  сохраняет  5  целочисленных полей и
         строку Data вызовами  S.Write.  Используется  совместно  с
         TInputLine.Load для  сохранения  и  чтения  всего  объекта
         TInputLine. Перекройте этот  метод,  если  Вы  определяете
         потомка, который содержит дополнительные поля.

         См. так же: TView.Store, TInputLine.Load, TStream.Write


                                  Палитра

         Строки ввода  используют  палитру  по умолчанию CInputLine
         для отображения  в  элементы  с  19  по  21-й  в   палитре
         стандартного диалогового окна.

                     1    2    3    4
                  +====+====+====+====+
      CInputLine  | 19 | 19 | 20 | 21 |
                  +==+=+==+=+==+=+==+=+
      Пассивный -----+    |    |    +--- Стрелка
      Активный -----------+    +-------- Выбранный



TLabel Dialogs


                  +-------------+
                  |  TObject    |
                  +-----+-------+
                  +-----+-------+
                  |   TView     |
                  +-----+-------+
                  +=====+=======+
                  | TStaticText |
                  +=====+=======+
                  +-----+-------+
                  |  TLabel     |
                  +-------------+

         Объект TLabel  -  это  текст  в видимом элементе,  который
         может быть выбран (подсвечен)  отметкой  мышки,  клавишами
         курсора или   коротким  выбором  Alt-буква.  Метка  обычно
         присоединена через  указатель  PView  к  другому  видимому
         элементу управления,  такому как строка ввода, кластер или
         просмотр списка для  пояснения  пользователю.  Выбор  (или
         нажатие) метки   будет   выбирать  присоединенный  элемент
         управления. Метка  так  же  будет  подсвечиваться,   когда
         выбран связанный элемент управления.


                                  Поля

 Link    Link: PView;                                 Только чтение
         Указывает  на элемент управления, связанный с этой меткой.

 Light   Light: Boolean;                              Только чтение
         Если True  -  метка,  а связанный с ней элемент управления
         будут выбираться и подсвечиваться.


                                 Методы 

 Init    constructor Init(var Bounds: TRect; AText: String;  ALink:
                          PView);
         Создает объект    TLabel    заданного   размера,   вызывая
         TStaticText.Init, затем устанавливает поле  Link  в  ALink
         для связывания   с  элементом  управления  (задайте  Alink
         равным nil,  если элемент управления не  требуется).  Поле
         Option устанавливается  в  ofPreProcess  и  ofPostProcess.
         EventMask устанавливается    evBroadcast.    Поле    AText
         назначается полю Text через TStaticText.Init.  AText может
         задать клавишу  короткого  набора   для   метки,   окружив
         соответствующую букву "~".

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

 Load    constructor Load(var S: TStream);
         Создает и  загружает  объект  TLabel  из  потока,  вызывая
         TStaticText.Load, GetPeerViewPtr(S,  Link)  для  установки
         связи с  ассоциированным  элементом  управления  (если  он
         есть).

         См. так же: TLabel.Store

 Draw    procedure Draw; virtual;            Перекрывается: Никогда
         Рисует видимый элемент соответствующим цветом  из  палитры
         по умолчанию.

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

 HandleEvent  procedure HandleEvent(var Event: TEvent); virtual;
                                             Перекрывается: Никогда
         Обрабатывает все события, вызывая TStaticText.HandleEvent.
         Если evMouseDown или  если  получено  событие  от  клавиши
         короткого набора,  выбирается связанный элемент управления
         (если он есть).  Этот  метод  так  же  обрабатывает  общие
         события cmReceivedFocus  и  cmReleasedFocus  от связанного
         элемента управления для настройки значения  поля  Light  и
         перерисовки метки.

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

 Store   procedure Store(var S: TStream);
         Сохраняет видимый    элемент     в     потоке,     вызывая
         TStaticText.Store, затем      записывает      связь      с
         ассоциированным элементом       управления,        вызывая
         PutPeerViewPtr.

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


                                 Палитра

         Метки используют   палитру   по   умолчанию   CLabel   для
         отображения в элементы  7,  8  и  9  палитры  стандартного
         диалога.

                     1    2    3    4
                  +====+====+====+====+
      CLabel      |  7 |  8 |  9 |  9 |
                  +==+=+==+=+==+=+==+=+
    Нормальный текст +    |    |    +--- Короткая выбранная
    Выбранный текст ------+    +-------- Нормальная выбранная



TListBox Dialogs


                  +-------------+
                  |   TObject   |
                  +------+------+
                  +------+------+
                  |    TView    |
                  +------+------+
                  +------+------+
                  | TListViewer |
                  +------+------+
                  +======+======+
                  |  TListBox   |
                  +=============+

         TListBox, порожденный   от   TListViewer,   помогает   Вам
         создавать наиболее   часто   используемые   окна   списков
         отображающих коллекции  строк  таких,  как  имена  файлов.
         Объекты TListBox отображают списки таких элементов  в одну
         или   более   колонок  с  возможной  вертикальной  полосой
         скроллинга. Горизонтальные    полосы     скроллинга     не
         поддерживаются в     TListViewer.    Наследуемые    методы
         TListViewer позволяют Вам выбрать (и  подсветить) элементы
         мышкой или   через  клавиатуру.  TListBox  не  перекрывает
         TListViewer.HandleEvent и  TListViewer.Draw,  поэтому   Вы
         должны просмотреть их описание до использования TListBox в
         своих программах.
         TListBox имеет дополнительное поле List, которое указывает
         на объект TCollection,  содержащий выводимые и  выбираемые
         элементы. Ответственность  за вставку данных в TCollection
         лежит на Вас так же как и действия, выполняемые при выборе
         элемента.
         TListViewer наследует метод Done от TView,  поэтому Вы так
         же отвечаете   за   освобождение   содержимого   List  при
         окончании работы.  Вызов NewList будет освобождать  старый
         список, поэтому    вызов    NewList(nil)   и   последующее
         освобождение окна списка будут освобождать все.


                                Поля

 List    List: PCollection;                           Только чтение
         List указывает  на коллекцию элементов для просмотра.  Это
         может быть  коллекция  PString,  представляющая  текстовые
         элементы.


                                 Методы 

 Init    constructor   Init(var  Bounds:  TRect;   ANumCols:  Word;
                            AScrollBar: PScrollBar);
         Создает окно списка с заданным размером,  числом колонок и
         вертикальной полосой  скроллинга,  указываемой  указателем
         AScrollBar. Этот   метод   вызывает   TListViewer.Init   с
         аргументом горизонтальной полосы скроллинга nil.
         Поле List первоначально nil (пустой список)  и наследуемое
         поле Range  устанавливается  в  0.  Ваша  программа должна
         задать TCollection,  содержащую строки (или другие объекты
         для вывода).  Поле  List  должно  быть  установлено на эту
         коллекцию с использованием NewList.

         См. так же: TListViewer.Init, TListBox.NewList

 Load    constructor Load(var S: TStream);
         Создает объект  TListBox  и  загружает  его  значениями из
         TStream. Этот метод вызывает метод TListViewer.Load, затем
         устанавливает List, читая указатель List из S с помощью S.
         Get.

         См. так же: TListViewer.Load, TListBox.Store, TStream.Get

 DataSize  function DataSize: Word; virtual;  Перекрывается: Иногда
         Возвращает размер   читаемых  и  записываемых  данных  для
         записей, передаваемых      в      TListBox.GetData       и
         TListBox.SetData. Эти  3  метода полезны для инициализации
         групп. По умолчанию  TListBox.DataSize  возвращает  размер
         указателя плюс   размер   слова  (для  List  и  выбранного
         элемента). Вам может потребоваться  перекрыть  этот  метод
         для Вашей программы.

         См. так же: TListBox.GetData, TListBox.SetData

 GetData procedure GetData(var Rec); virtual; Перекрывается: Иногда
         Записывает данные объекта TListBox в запись.  По умолчанию
         этот метод  пишет  в Rec текущие поля List и Focused.  Вам
         может потребоваться  перекрыть  этот   метод   для   Вашей
         программы.

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

 GetText  function GetText(Item: Integer; MaxLen: Integer): String;
                          virtual;            Перекрывается: Иногда
         Возвращает строку  из  вызываемого  объекта  TListBox.  По
         умолчанию возвращаемая  строка получается из элемента Item
         в TCollection,  используя  PString(List^.At(Item))^.  Если
         List содержит   не   строковые   объекты,  Вам  необходимо
         перекрыть этот метод.  Если List - nil, GetText возвращает
         пустую строку.

         См. так же: TCollection.At

 NewList  procedure NewList(AList: PCollection); virtual;
                                               Перекрывается: Редко
         Если AList  не  nil,  новый  список,  заданные  в   AList,
         заменяет текущий     List.    Наследуемое    поле    Range
         устанавливается в поле Count новой  TCollection  и  первый
         элемент активизируется   вызовом   FocusItem(0).  Наконец,
         новый список отображается вызовом DrawView.  Заметим,  что
         если предыдущее  поле  List  не nil,  оно освобождается до
         назначения нового списка значений.

         См. так   же:   TListBox.SetData,    TListViewer.SetRange,
         TListViewer.FocusItem, TView.DrawView

 SetData procedure SetData(var Rec); virtual; Перекрывается: Иногда
         Заменяет текущий  список  со  значениями  List  и Focused,
         считанными из Rec.  SetData вызывает  NewList  так,  чтобы
         новый список  отображался с корректным активным элементом.
         Как с  GetData  и  DataSize,   Вам   может   потребоваться
         перекрыть этот метод для Вашей программы.

         См.   так    же:   TListBox.DataSize,    TListBox.GetData,
         TListBox.NewList

 Store   procedure Store(var S:TStream);
         Записывает окно списка в TStream, вызывая TListView.Store,
         затем выводит коллекцию в список, вызывая S.Put(List).

         См. так же: TListBox.Load, TListViewer.Store, TStream.Put


                                  Палитра

         Окна списка  используют палитру  по умолчанию CListViewеr,
         отображая элементы  с  26  по  29  в  палитру  стандартной
         программы.

                  1   2   3   4   5
                +===+===+===+===+===+
   CListViewer  | 25| 26| 27| 28| 29|
                +=+=+=+=+=+=+=+=+=+=+
   Активный ------+   |   |   |   +-- Разделитель
   Неактивный --------+   |   +------ Выбранный
   Сфокусированный -------+



TListViewer Views


                  +-------------+
                  |  TObject    |
                  +-----+-------+
                  +-----+-------+
                  |   TView     |
                  +-----+-------+
                  +=====+=======+
                  | TListViewer |
                  +=====+=======+
                  +-----+-------+
                  |  TListBox   |
                  +-------------+

         Тип объекта  TListViewer  -  это базовый тип,  из которого
         порождаются просмотры списков различного вида  такие,  как
         TListBox. Основные поля и методы TListViewer предоставляют
         следующие функции:
         - Видимый   элемент   для  отображения  связанных  списков
           элементов (но не списков).
         - Управление одним или двумя полосами скроллинга.
         - Скроллинг списков по двум координатам.
         - Загрузка  и  сохранение  видимого  элемента  и его полос
           скроллинга из и в TStream.
         - Возможность   выбора   элементов   списка   мышкой   или
           клавишами.
         - Метод Draw поддерживающий изменение размера и скроллинг.

         TListViewer имеет  абстрактный метод GetText так,  что Вам
         потребуется предоставить механизм создания  и  манипуляции
         отображаемых элементов текста.
         TListViewer не имеет  собственного  механизма  запоминания
         списка. Используйте  его  для  отображения  скроллингуемых
         списков, массивов, связанных списков или подобных структур
         данных. Вы  так  же  можете  использовать  его наследников
         таких, как  TListBox,  которые  ассоциируют  коллекцию   с
         просмотром списка.


                                Поля

 HScroolBar  HScrollBar: PScrollBar;                  Только чтение
         Указатель на горизонтальную полосу скроллинга, связанную с
         этим видимым элементом. Если nil, видимый элемент не имеет
         такой полосы скроллинга.

 VScroolBar  VScrollBar: PScrollBar;                  Только чтение
         Указатель на  вертикальную полосу скроллинга,  связанную с
         этим видимым элементом. Если nil, видимый элемент не имеет
         такой полосы скроллинга.

 NumCols  NumCols: Integer;                           Только чтение
         Число колонок в элементе управления списком.

 TopItem  TopItem: Integer;                           Чтение/Запись
         Номер верхнего отображаемого элемента. Элементы нумеруются
         от 0 до Range-1.  Это  число  зависит  от  числа  колонок,
         размера видимого элемента и значения Range.

         См. так же: Range

 Focused  Focused: Integer;                           Только чтение
         Номер активного элемента.  Элементы  нумеруются  от  0  до
         Range-1. Первоначально   устанавливается   в  0  -  первый
         элемент, Focused  может  изменяться  отметкой  мышки   или
         выбором через пробел.

         См. так же: Range

 Range   Range: Integer;                              Только чтение
         Общее число элементов в списке.  Элементы нумеруются от  0
         до Range-1.

         TListViewer.SetRange



                                   Методы

 Init    constructor  Init(var  Bounds:  TRect;  ANumCols: Integer;
                           AHScrollBar, AVScrollBar: PScrollBar);
         Создает и   инициализирует  объект  TListViewer  заданного
         размера, вызывая TView.Init.  Поле NumCols устанавливается
         в ANumCols.  Options  устанавливается  в  (ofFirstClick  +
         ofFirstSelectable) так,  что выбор мышкой  этого  элемента
         будет передаваться  в  TListViewer.HandleEvent.  EventMask
         устанавливается в evBroadcast.  Начальные значения Range и
         Focused -    0.    Указатели    на    вертикальную   и/или
         горизонтальную полосы  скроллинга   можно   задать   через
         аргументы AVScrollBar  и  AHSсrollBar.  Если  Вам не нужны
         полосы скроллинга,  можно установить один из них или оба в
         nil. Эти  значения аргументов назначаются полям VScrollBar
         и HScrollBar.
         Если Вы задали полосы скроллинга,  их поля PgStep и ArStep
         будут настраиваться в соответствии с  размером TListViewer
         и числом    колонок.    Например,    для   одноколоночного
         TListViewer вертикальный   PgStep   равен   Size.Y-1,    а
         вертикальный ArStep равен 1.

         См. так же: TView.Init, TScrollBar.SetStep

 Load    Load constructor Load(var S: TStream);
         Создает объект  TListViewer,  вызывая  TView.Load.  Полосы
         скроллинга, если они есть,  так же загружаются из потока с
         использованием вызовов GetPeerViewPtr.  Все  целочисленные
         поля загружаются с использованием S.Read.

         См. так же: TView.Load, TListViewer.Store

 ChangeBounds  ChangeBounds(var Bounds: TRect); virtual;
                                             Перекрывается: Никогда
         Изменяет размер     объекта      TListViewer,      вызывая
         TView.ChangeBounds. Если  назначена  горизонтальная полоса
         скроллинга, этот  метод  при   необходимости   настраивает
         PgStep.

         См. так же: TView.ChangeBounds, TScrollBar.ChangeStep

 Draw    procedure Draw; virtual;            Перекрывается: Никогда
         Рисует объект TListViewer палитрой по  умолчанию,  вызывая
         GetText для  каждого  отображаемого элемента,  принимая во
         внимание активные  и  выбранные  элементы  и  является  ли
         видимый элемент sfActive.

         См. так же: TListViewer.GetText

 FocusItem  procedure FocusItem(Item: Integer); virtual;
                                             Перекрывается: Никогда
         Делает данный элемент активным,  устанавливая поле Focused
         в Item.   Этот  метод  так  же  устанавливает  поле  Value
         вертикальной полосы  скроллинга  (если  есть)  в  Item   и
         настраивает поле TopItem.

         См. так же: TListViewer.IsSelected, TScrollBar.SetValue

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

 GetText  function GetText(Item: Integer; MaxLen: Integer): String;
                          virtual;            Перекрывается: Всегда
         Это абстрактный метод.  Порожденные типы должны определить
         механизм для возвращения строки,  не превышающей MaxLen по
         индексу, заданному в Item.

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

 IsSelected  function IsSelected(Item: Integer): Boolean; virtual;
                                             Перекрывается: Никогда
         Возвращает True,  если Item активный,  т.е.  если  Item  =
         Focused.

         См. так же: TListViewer.FocusItem

 HandleEvent  procedure HandleEvent(var Event: TEvent); virtual;
                                               Перекрывается: Редко
         Обрабатывает события,  вызывая TView.HandleEvent.  Отметки
         мышкой и   "автоматические"   движения   по  списку  будут
         изменять активный элемент.  Активные элементы  могут  быть
         выбраны двойным нажатием мышки.  Обрабатываются события от
         клавиатуры: пробел  выбирает  текущий  активный   элемент;
         клавиши стрелок,  PgUp, PgDn, Ctrl-PgUp, Ctrl-PgDn, Home и
         End изменяют активный элемент.  Наконец общие сообщения от
         полос скроллинга обрабатываются,  изменяя активный элемент
         и перерисовывая видимый элемент.

         См. так же: TView.HandleEvent, TListViewer. FocusItem

 SelectItem  procedure SelectItem(Item: Integer); virtual;
                                              Перекрывается: Иногда
         Абстрактный метод   для  выбора  элемента,  индексируемого
         через Item.

         См. так же: TListViewer.FocusItem

 SetRange  procedure SetRange(ARange: Integer);
         Устанавливает поле   Range  в  ARange.  Если  вертикальная
         полоса скроллинга была задана, ее параметры настраиваются.
         Если текущий активный элемент выходит за новый Range, поле
         Focused устанавливается в 0.

         См. так же: TListViewer.Range, TScrollBar.SetParams

 SetState  procedure   SetState(AState:  Word;   Enable:  Boolean);
                               virtual;        Перекрывается: Редко
         Вызывает TView.SetState  для  изменения  состояния объекта
         TListViewer, если  Enable  -  True.   В   зависимости   от
         аргумента  AState  это  приводит к отображению или скрытию
         видимого элемента. Дополнительно, если AState - sfSelected
         и   sfActive,  полосы  скроллинга  перерисовываются;  если
         AState - sfSelected,  но не  sfActive,  полосы  скроллинга
         скрываются.

         См. так      же:      TView.SetState,     TScrollBar.Show,
         TScrollBar.Hide

 Store   procedure Store(var S: TStream);
         Вызывает TView.Store для сохранения объекта  TListViewer в
         потоке, затем сохраняет объекты полос скроллинга (если они
         есть) используя    PutPeerViewPtr,    наконец    сохраняет
         целочисленные поля через S.Write.

         См. так же: TView.Store, TListViewer.Load


                               Палитра

         Списки просмотра    используют    палитру   по   умолчанию
         CListViewer, отображая элементы с 26  по  29-й  в  палитру
         стандартной программы.


                  1   2   3   4   5
                +===+===+===+===+===+
   CListViewer  | 25| 26| 27| 28| 29|
                +=+=+=+=+=+=+=+=+=+=+
   Активный ------+   |   |   |   +-- Разделитель
   Неактивный --------+   |   +------ Выбранный
   Сфокусированный -------+



TMenuBar Menus


                  +------------+
                  |   TObject  |
                  +------+-----+
                  +------+-----+
                  |    TView   |
                  +------+-----+
                  +------+-----+
                  | TMenuView  |
                  +----+---+---+
              +--------+   +------+
         +====+=====+        +----+-----+
         | TMenuBar |        | TMenuBox |
         +==========+        +----------+

         Объекты TMenuBar представляют полосы горизонтального меню,
         из которого меню может быть выбрано через:
         - прямую отметку.
         - F10 и короткую клавишу.
         - выбор (подсветку) и нажатие Enter.
         - горячие клавиши.
         Выборы главного меню отображаются в верхней  полосе  меню.
         Они представлены    объектом    типа    TMenuBar    обычно
         принадлежащему объекту TApplication.  Подменю отображаются
         в объектах типа TMenuBox.  TMenuBar и TMenuBox порождаются
         от абстрактного типа TMenuView.
         Для большинства  программ  на Turbo Vision Вы не включаете
         прямо объекты  меню.  Перекрывая  TApplication.InitMenuBar
         соответствующим набором вложенных вызовов New, NewSubMenu,
         NewItem и NewLine, Turbo Vision выполняет это.


                                     Методы 

 Init    constructor Init(var Bounds: TRect; AMenu: PMenu);
         Создает полосу   меню,   заданную  через  Bounds,  вызывая
         TMenuView.Init. GrowMode  установлена  в  gfGrouHiX.  Поле
         Options установлено  в ofPreprocess для возможности работы
         с горячими  клавишами.  Поле  меню  установлено  в  AMenu,
         задавая элементы меню.

         См. так же: TMenuView.Init, gfXXXX флаги grow mode, ofXXXX
         флаги опций, TMenuView.Menu

 Draw    procedure Draw; virtual;              Перекрывается: Редко
         Рисует полосу меню палитрой  по  умолчанию.  Поля  Name  и
         Disabled каждой   записи   TMenuItem  в  связанном  списке
         читаются, чтобы  установить  элементы  меню  в  корректный
         цвет. Текущий элемент Current подсвечивается.

 GetItemRect  procedure GetIteRect(Item: PMenuItem;  var R: TRect);
                                  virtual;   Перекрывается: Никогда
         Перекрывает абстрактный  метод  в  TMenuView.   Возвращает
         прямоугольник, занимаемый элементом меню в R. Используется
         для определения,  находится  ли  отметка  мышки  в  данном
         элементе меню.

         См. так же: TMenuView.GetItemRect


                                 Палитра

         Полосы меню,  как и все видимые элементы меню,  используют
         палитру по умолчанию CMenuView для  отображения  элементов
         со 2 по 7 в палитру стандартной программы.

                  1    2    3    4    5    6
               +====+====+====+====+====+====+
CMenuView      |  2 |  3 |  4 |  5 |  6 |  7 |
               +==+=+==+=+==+=+==+=+==+=+==+=+
Нормальный текст -+    |    |    |    |    +-- Короткий выбранный
Запрещенный текст -----+    |    |    +------ Запрещенный выбранный
Короткий текст -------------+    +------------ Нормальный выбранный



                              Назад | Содержание | Вперед

 

 

\

Подписка на новости 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
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...