Турбо Паскаль 6.0

       

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| +=+=+=+=+=+=+=+=+=+=+ Активный ------+ | | | +-- Разделитель Неактивный --------+ | +------ Выбранный Сфокусированный -------+


Содержание раздела







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий