Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пособие по программированию на ДЕЛЬФИ.doc
Скачиваний:
45
Добавлен:
11.02.2015
Размер:
1.77 Mб
Скачать

3.12. TTreeView - дерево иерархии

Компонент TTreeView служит для показа ветвящихся иерархических структур, таких как дерево наследования объектов или файловая структура диска (рис. слева). Он содержит связанные узлы, каждый из которых может содержать

пиктограмму, текст и произвольный объект (подобно спискам TStringList). Любой узел может иметь собственный список подузлов, которые можно раскрывать или закрывать щелчком мыши на пиктограмме узла.

Для наполнения списка на этапе конструирования программы нужно щелкнуть по компоненту правой кнопкой мыши и выбрать Items Editor., либо щелкнуть по нему дважды, либо, наконец, щелкнуть по кнопке в свойстве Items - во всех случаях на экране появится окно редактора компонента (рис. справа). Чтобы начать наполнение, щелкните по кнопке New Item и введите связанный с узлом текст в поле Text.С помощью Image Index панели Item Properties устанавливается индекс связанной с узлом пиктограммы, с помощью selected index - индекс пиктограммы для выбранного узла. Для ввода подузла любого уровня сначала нужно щелкнуть в окошке Items по узлу, который должен стать родительским, и лишь затем - на кнопке New Subitem. Для подробного изучения компонента обратится к дополнительной литературе.

3.13. TListView - список просмотра

Компонент TListView предназначен для показа и выбора нескольких элементов. Каждый элемент может содержать пиктограмму и текст и подобно TTreeView иметь список связанных с ним подэлементов. В отличие от TTreeView в TListView допускается не более одного уровня вложенности подэлементов. TListView показывает свои элементы в одной или нескольких колонках, с крупными или мелкими пиктограммами, а также в виде “отчетов”, представляющих элементы в двухмерной таблице: по вертикали изображаются элементы верхнего уровня, по горизонтали - вложенные подэлементчатели, упрощающие множественный выбор элементов. Рядом с элементами могут показываться независимые переключатели, облегчающие множественный выбор. Компонент может наполняться как на этапе конструирования, так и на этапе прогона программы.

свойства:

AllocBy

 

Используется перед вставкой большого количества элементов: для экономии времени и памяти перед добавлением установите в это свойство количество добавляемых элементов

Checkboxes

Разрешает/запрещает показ независимых переключателей рядом с элементами

Column[Index]

Открывает доступ к колонкам элементов по их индексам

ColumnClick

Разрешает/запрещает генерацию события OnColumnClick

Columns

Содержит объект-колонки.

GridLines

Разрешает/запрещает показ линий в режиме ViewStyle = vsReport

HideSelection

Запрещает/разрешает сохранять выбор элементов при потере компонентом фокуса ввода

HotTrack

Разрешает/запрещает подсветку элементов, над которыми проходит указатель мыши

IconOptions

С помощью объекта класса TiconOptions задаются дополнительные условия отображения

Items

Содержит список всех элементов

Largelmages

Указывает источник крупных пиктограмм

MultiSelect

Разрешает/запрещает множественный выбор

Readonly

Запрещает/разрешает редактирование надписей

ShowColumnHeaders

Разрешает/запрещает показ заголовков колонок в режиме ViewStyle = vsReport

SortType

Указывает источник мелких пиктограмм Указывает способ сортировки элементов

Statelmages

Указывает источник пиктограмм для вы бранных элементов

ViewStyle

Определяет стиль показа элементов

Обратите внимание: чтобы компонент работал в режиме vsReport, необходимо создать хотя бы одну колонку. На этапе конструирования программы колонки создаются и изменяются с помощью редактора колонок, окно которого открывается после щелчка по компоненту правой кнопкой и выборе в локальном меню опции ColumnEditor.

Класс TIconOption определяет дополнительные условия отображения узлов и имеет такие свойства:

type TIconArrangement = (iaTop, iaLeft) ;

property Arrangement: TIconArrangement;

Показывает способ расположения изображения: iaTop - слева направо (вверху колонки); iaLeft - сверху вниз слева от ряда колонок

property AutoArrange: Boolean;

Если содержит True, элементы будут автоматически располагаться правильными рядами при изменении их количества

property WrapText: Boolean;

Если содержит True, текст элемента может переноситься на границах слов на несколько строк, если он выходит за границы пиктограммы

3.14. THeaderControl - управляющий заголовок

Компонент THeaderControl представляет собой многоколончатый заголовок с регулируемыми размерами колонок (секций). Каждая колонка (секция) заголовка может содержать текст и/или графику. Компонент способен обрабатывать событие OnResize, которое возникает при каждом изменении

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

Свойства:

Alignment

Определяет выравнивание текста

AllowClick

Разрешает/запрещает генерацию события OnSectionClick при щелчке по секции

Left

Определяет положение левой границы секции относительно границ компонента (в пикселях)

MaxWidth

Определяет максимальную ширину секции в пикселях

MinWidth

Определяет минимальную ширину секции в пикселях

Right

Определяет положение правой границы секции относительно границ компонента (в пикселях)

Style

Определяет способ формирования секции: hsText - секция содержит только текст и изображается автоматически; hsOwnerDraw - секция прорисовывается программой

Width;

Содержит текущую ширину секции в пикселях

AllowClick

Если содержит True, разрешает щелкнуть по секции заголовка как по кнопке. В этом случае управление передается в обработчик события OnSectionClick

DisplayName

Имя заголовка секции

Imagelndex

Указывает индекс изображения из хранилища Images, которое будет появляться следом за текстом заголовка

Style

Определяет тип секции: hsText - секция содержит только текст; hsOwnerDraw - секция нуждается в программной прорисовке

Text

Содержит текст секции