Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Ваш интернет-бизнес" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
ExCode.ru - программирование на высоком уровне - выпуск 18
Информационный Канал Subscribe.Ru |
ExCode.ru - программирование на высоком уровне | ||||||||||||||||||||
Выпуск №18 ( 2005.11.26 )
|
||||||||||||||||||||
Здравствуйте, уважаемые подписчики!
Спешу сообщить вам приятную новость. С 1 по 31 декабря этого года на сайте ExCode.ru пройдет лотерея-конкурс. В которой будут разыгрываться 6 DVD дисков Все для программиста 1 и Все для программиста 2. Для того чтобы участвовать в конкурсе вам достаточно зарегистрироваться на сайте, и оставить хотя бы один комментарий в статьях или в опросах (чем больше комментариев вы
оставите, тем больше ваши шансы на выигрыш). 31 декабря случайным образом будут отобраны 3 победителя, которые и получат по 2 DVD диска каждый. Подробные правила конкурса будут опубликованны на сайте 1-ого декабря. |
||||||||||||||||||||
Новости копьютерного мира:
|
||||||||||||||||||||
Статья номера:
Работа с TreeView - создание дерева каталоговИсточник: http://decoding.narod.ru/practic/treeview/treeview.html
Сегодня нам предстоит знакомство с одним очень интересным компонентом Delphi - TreeView. TreeView служит для показа ветвящихся иерархических структур, например - файловой структуры диска. TreeView содержит основные узлы, каждый из которых может содержать пиктограмму, текст и произвольный объект, и в свою очередь может иметь собственный список подузлов. Для ввода списка в режиме прогона программы можно использовать свойство Item типа TTreeNodes, открывающее индексированный доступ ко всем узлам списка. Ниже приведен простой пример на использование этого свойства.
Рассмотрим некоторые полезные свойства этого компонента: TreeView1.Items.BeginUpdate - блокирует обновление экрана до тех пор, пока не будет выполнен метод EndUpdate. Используется при одновременной вставке нескольких элементов списка для предотвращения мерцания экрана. TreeView1.Items.EndUpdate - отменяет действие метода BeginUpdate. TreeView1.FullExpand - показывает все узлы дерева иерархии. TreeView1.FullCollapse - прячет все узлы, кроме узлов самого верхнего уровня иерархии. Вернемся к дереву каталогов. Первое, что мы сделаем при запуске программы, выведем в TreeView список всех дисков, имеющихся на компьютере. На этом этапе мы не станем проверять наличие каталогов на дисках, так как такая проверка на дисководе займет много времени. Проверять наличие каталогов будем в момент раскрытия узла. В свою очередь, в найденный каталогах мы попытаемся найти хоть одну папку. От результата поиска зависит, появится в данном узле знак "+", говорящий о наличии подкаталогов, или нет. Иконки для TreeView будем брать из файла FileCtrl.res, находящемся в каталоге "Delphi6\lib".
При раскрытии узла возникает событие onExpanding, которое мы и будем обрабатывать. Такой подход лучше, чем загружать всю структуру каталогов сразу. Это связано с тем, что во время работы программы пользователь может изменить структуру каталогов, и чтобы программа адекватно реагировала на подобные изменения, нужно производить поиск каталогов следующего уровня при каждом раскрытии узла.
Теперь, если мы захотим просмотреть все получившееся дерево, то воспользуемся следующим кодом, который полностью раскрывает дерево.
Закрыть его вновь тоже не составит проблемы.
Подведем итог. Задача построения структуры каталогов в виде дерева с использованием TreeView оказалась не сложной. Разберитесь получше с этим примером, и многие вопросы, связанные с использованием TreeView исчезнут. Удачи. | ||||||||||||||||||||
Послесловие:
Нам очень важно знать ваше мнение о нашей работе, если не трудно напишите нам, что вам нравится и что вам не нравится. Mail: ledworm@excode.ru |
||||||||||||||||||||
Subscribe.Ru
Поддержка подписчиков Другие рассылки этой тематики Другие рассылки этого автора |
Подписан адрес:
Код этой рассылки: comp.soft.prog.excode Архив рассылки |
Отписаться
Вспомнить пароль |
В избранное | ||