Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Загрузка значений в ListViewСодержание книги
Поиск на нашем сайте
Для того, чтобы не происходило перерисовки при каждом изменении вызываем BeginUpdate:
ListView.Items.BeginUpdate; try ListView.Items.Clear; //Далее идёт код по созданию элементов списка finally ListView.Items.EndUpdate; end;
Для создания элемента списка вызываем метод ListView.Items.Add, и задаём свойства элемента списка:
Пример:
var LI: TListItem; SR: TSearchRec; … LI:= ListView.Items.Add; LI.Caption:= SR.Name; //Задаём название элемента, отображаемое в столбце №0 LI.ImageIndex:= Ord(SR.Attr and faDirectory<>0); //Выбираем код иконки узла из ImageList LI.SubItems.Add(IntToStr(SR.Size)); //Задаём значение, отображаемое в столбце №1
Виртуальный ListView Для работы в виртуальном режиме включаем свойство OwnerData:= true у ListView. В коде задаём общее количество элементов:
ListView.Items.Count:= 1000000000;
В обработчике события OnData задаём свойства того узла, номер которого указан в его свойстве Index Пример:
procedure TForm1.ListView1Data(Sender: TObject; Item: TListItem); begin Item.Caption:= IntToStr(Item.Index+1); end;
Работа с компонентом TreeView. Динамическая загрузка элементов в TreeView по мере раскрытия узлов. Компонент Дерево (TTreeView) Сложные структуры данных в Windows обычно представляются двумя способами: в виде списка и в виде дерева. Так, например, отображается структура каталогов в Проводнике: слева иерархическая структура диска в виде раскрывающихся значков с обозначениями "-" (развернут) и ''+'' (свернут), а справа — содержимое выбранного каталога в виде списка. Для создания подобных деревьев, отображающих иерархические структуры данных, в системе Delphi 7 реализован компонент TTreeView. Процесс создания дерева достаточно прост. Его начальную структуру можно сформи- ровать в редакторе, аналогичном редактору компонента TListView, только уровень вложенности элементов в таком списке не ограничен. У компонента TListView под- держивался только один уровень вложенности по схеме "объект — набор свойств". Каждому узлу дерева может соответствовать своя картинка (рис. 4.25, стр 295). Ее номер указывается в поле редактора Image Index (Номер картинки), а сам список картинок задается в свойстве Images. Дополнительно, для каждого узла можно указать номер картинки, отражающей его выделенное состояние (свойство Selected Index), и номер картинки, отражающей его дополнительное состояние (свойство State Index). Имена узлов можно редактировать, как обычные названия объектов Windows. Многие свойства дерева совпадают со свойствами объекта TListView, но есть и неболь- шие отличия, вызванные необходимостью отображать неограниченные иерархии объектов и только одним режимом работы. Основные свойства компонента TTreeView приведены ниже. Сами узлы хра- нятся в свойстве Items (класс TTreeNodes) и имеют тип TTreeNode. Класс TTreeNodes содержит свойство Item — массив объектов типа TTreeNod e. Основные свойства класса TTreeNode приведены в табл. 4.79. ПОДСКАЗКА Доступ к узлом по номеру и, особенно, формирование новых эле- ментов дерева во время работы программы — процесс, требующий значительных вычислительных ресурсов, поэтому желательно выполнять максимально возможную часть работы по формированию структуры дерева на этапе проектирования. Основные свойства компонента TTreeView AutoExpand Имеет значение True, если узлы дерева будут автоматически разворачиваться и сворачиваться при перемещении фокуса ChangeDelay Пауза в миллисекундах между выделением узла дерева и генерацией сообщения OnChange. Обработка этого сообщения позволяет, например, отобразить содержимое данного узла в другой части формы. Для Проводника Windows эта пауза равна 50 мс HideSelection Имеет значение True, если с элемента, теряющего фокус, снимается выделение Indent Расстояние в пикселах между узлами дерева RightClickSelect Имеет значение True, если разрешается выделять узлы дерева с помощью правой кнопки мыши ShowButtons Имеет значение True, если слева от узлов отображаются кнопки с символами + и - ShowLines Имеет значение True, если отображаются линии, соединяющие узлы ShowRoot Имеет значение True, если отображаются линии, соединяющие узлы верхнего уровня Statelmages Список картинок для отображения дополнительного состояния узлов ToolTips Имеет значение True, если разрешена всплывающая подсказка для каждого узла дерева. Показывать такую подсказку надо в обработчике события OnHint
|
||||
Последнее изменение этой страницы: 2017-02-21; просмотров: 487; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.225.98.39 (0.009 с.) |