Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв ИП 2010-04-04 doc.doc
Скачиваний:
108
Добавлен:
13.05.2015
Размер:
5.96 Mб
Скачать

6.24. Список изображений (ImageList)

Список изображений (компоненты Microsoft Win­dows Common Controls 6.0) невидим во время выполнения программы. Он никогда не используется самостоятельно, а только предоставляет изображения дру­гим объектам путем задания номера выбираемого изобра­же­ния в свойствеIndex, а имя самого списка задается свойствомImageList (п. 8.3).

6.25. Отображение иерархических структур (TreeView)

Объект (компоненты Microsoft Win­dows Common Controls 6.0) поз­во­ляет вывести информацию в виде дерева с узлами и вет­вями. Такое отображение применяется в проводникеWin­dows. Каждый узел является объектом типаNodeв семействеNodes.

Специфичные свойства

LabelEdit=1 ‑ запрет на корректировку надписи узла.

ImageList‑ имя объекта со списком изображений.

Checkboxes=True‑ ветви дерева отображаются в виде флажковCheckbox.

FullRowSelect‑ полное имя выбранной ветви.

Scroll=True‑ вывод полосы прокрутки.

SingleSel=True‑ разворачивание ветви при ее выборе.

Добавление нового узла реализуется методом Add:

<имя объекта TreeView>.Nodes.Add([Relative], [Relationship], Key, Text [, [Image] [, [SelectedImage]]])

Relative‑ имя родительского узла (свойствоIndexилиKey).

Relationship‑ вид отношения к родительскому узлу: tvwChild (дочернее).

Key,Text, Image, SelectedImage‑ имя узла и его надпись, номер изоб­ра­же­ния обычного и выбранного узла в списках изображений (п. 6.24).

События

BeforeLabelEdit/AfterLabelEdit‑ до/после изменения надписи узла. Прек­ра­тить редактирование надписи можно параметромCancel=True.

Expand/Collaps‑ разворачивание/сворачивание ветви.

NodeClick‑ щелчок по узлу (ссылка на узел передается параметром).

NodeCheck‑ при изменении состояния ветви (приCheckboxes=True).

Примерформирования изображения (рис. 6.25.1)

Private Sub Form_Load() ‘ процедура формирования дерева

Dim u As Node ‘ объявление объектной переменной типа Node

Set u = TreeView1.Nodes.Add(, , “Gorod“, “Екатеринбург“)

Set u = TreeView1.Nodes.Add(“Gorod“, tvwChild, “p1“, “Уралмашстрой“)

Set u=TreeView1.Nodes.Add(“p1“, tvwChild, “s1“, “Магазин“)

Set u = TreeView1.Nodes.Add(“p1“, tvwChild, “s2“, “Дом“)

Set u = TreeView1.Nodes.Add(“Gorod“, tvwChild, “p2“, “ДСК“)

Set u=TreeView1.Nodes.Add(“p2“,tvwChild,“s3“,“Жилой дом“)

Set u = TreeView1.Nodes.Add(, , “Gorod2“, “Н-Тагил“) ‘уровень 1

Set u = TreeView1.Nodes.Add(“Gorod2“, tvwChild, “p3“, “Тагилстрой“)

Set u = TreeView1.Nodes.Add(“p3“, tvwChild, “s4“, “Больница“)

Set u = TreeView1.Nodes.Add(“p3“, tvwChild, “s5“, “Школа“)

End Sub

Рис. 6.25.1. Вид дерева

6.26. Отображение списков (ListVew)

Объект (компоненты Microsoft Win­dows Common Controls 6.0) поз­во­ляет отображать элементы в виде списка строк, пиктограмм или табли­цы (в документации этот вид описан, но в версии VisualBasic6.0, с ко­­то­­рой работал автор, он отсутствовал!). Каждый элемент списка яв­ля­ет­ся объ­ектом типаListItemиз семействаListItems.

Специфичные свойства (основные)

View‑ вид списка: список (ivwList), отчет (ivwReport), список больших/ма­лень­ких пиктограмм (ivwIcon/ivwSmallIcon), таблица (ivwTable).

SubItems‑ свойство объектаListItemсодержит дополнительные данные, которые отображаются в списке табличного вида.

LabelEdit=1 ‑ запрет на корректировку надписи элемента списка.

Специфичные методы

Добавление новой строки в список:

ListItems.Add([Index], [Key], Text [, [Icon] [, [SmallIcon]]]).

Index, Key, Text‑ номер, имя и текст добавляемого в список элемента.

Icon/SmallIcon‑ номер крупной/мелкой пиктограммы вImageList(п. 6.24).

Добавление нового столбца в список табличного вида:

ColumnHeaders.Add([Index],[Key],Text[,[Icon], [Width], [Alligment]).

Index, Key, Text‑ номер, имя и текст добавляемого столбца.

Width, Alligment‑ ширина и выравнивание текста в столбце.

События

BeforeLabelEdit/AfterLabelEdit‑ до/после изменения надписи элемента.

ItemClick/ColumnClick‑ щелчок по элементу/столбцу.

Примерсоздания таблицы из двух колонок (для проверки работы программы использовался список в виде отчета) (рис. 6.26.1)

Рис. 6.26.1. Вид таблицы из двух колонок

Private Sub Form_Load() ‘процедура создания таблицы

DimstrAsListItem‘ объявления объектных переменных типаListItem

Dim col As ColumnHeader ‘и типа ColumnHeader

‘ добавление двух колонок в таблицу с шириной ListView1.Width/ 2)

Set col = ListView1.ColumnHeaders.Add(, , ”Заказчик”, ListView1.Width / 2)

Set col = ListView1.ColumnHeaders.Add(, , ”Стройка”, ListView1.Width / 2)

Set str = ListView1.ListItems.Add(, , ”Уралмаш”) ‘ первая строка и колонка

str.SubItems(1) = ”Жилой дом” ‘ вторая колонка первой строки

Setstr=ListView1.ListItems.Add(, , ”Химмаш”) ‘ вторая строка и колонка 1

str.SubItems(1) = ”Больница” ‘ вторая колонка второй строки

End Sub