Вопрос
Есть ли в природе компоненты, позволяющие реализовать дерево каталогов, как в Проводнике, к примеру? Если нет, как можно реализовать это самому?
Ответ
Стандартных нет. Можно сделать самому, используя TTreeView и TListView. Также используется FindFirst, FindNext.
Делаешь первый вызов FindFirst, получаешь объект, добавляешь узел в дерево. Проверяешь этот объект(DirectoryExist()), если это файл — значит, этот узел последний в ветви. Если же это директория, рекурсивно просматриваешь с помощью того же FindFirst и добавляешь узлы-потомки. Потом вызываешь FindNext и делаешь те же проверки…
Таким образом и строишь дерево каталогов.
Правая часть немного проще. Ставишь процедуру на выбор узла в дереве и в ней заполняешь объектами, содержащимися в этой ветви. Объяснил немного скомкано, но на самом деле тема это очень большая (как и пример, готового нет, а делать на ходу очень долго…). В принципе, существуют готовые компоненты сторонних разработчиков.
Из конференции Expert_FAQ
Copyright 2000-2004 Сообщество Чайников
Контактная информация