C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Дерево каталогов
Shura
Отправлено: 05.05.2004, 16:16


Дежурный стрелочник

Группа: Участник
Сообщений: 45



Наверняка кто-то уже сталкивался с такой проблемой — необходимо отобразить дерево каталогов, чтобы пользователь мог выбрать одну из папок. Поиск такого компонента что-то ничего не дал.

В билдере, на вкладке samples есть компонент CDirectoryOutline. В принципе, он бы мне подошел, но как сделать так, чтобы он начинал дерево не с диска, а с рабочего стола или с папки "мои документы"? (Win 2000, поэтому у всех пользователей разные папки моих документов. Если ввести Directory="%UserProfile%\рабочий стол" Вылетает с ошибкой)
Gedeon
Отправлено: 05.05.2004, 16:25


Ветеран

Группа: Модератор
Сообщений: 1742



Попробуйте так
"%UserProfile%\\рабочий стол" — для рабочего стола
"%UserProfile%\\Мои документы" — для понятно чего.
olegenty
Отправлено: 06.05.2004, 09:30


Ветеран

Группа: Модератор
Сообщений: 2412



а можно и намного проще: взять да и установить ShellControls из папочки Examples\ShellControls, встают они в папочку Samples, набор из 4-х компонентов:
TShellTreeView
TShellListView
TShellComboBox
TShellChangeNotifier

полый аналог Проводника, с рабочим столом, Моими документами, корзиной и тд...
Gedeon
Отправлено: 06.05.2004, 09:36


Ветеран

Группа: Модератор
Сообщений: 1742



QUOTE (Gedeon @ 05/05/2004, 17:27)
Попробуйте так
"%UserProfile%\\рабочий стол" — для рабочего стола
"%UserProfile%\\Мои документы" — для понятно чего.

Ну это я кстати глупость сморозил ткнул в выполнить, прошло, а дома в проге попробовал, хрен, не знает такого пути. Кроме того если например винда английская? Надо эти пути искать не так, мсдн почитать.
olegenty
Отправлено: 06.05.2004, 09:49


Ветеран

Группа: Модератор
Сообщений: 2412



грю ж, компоненты ставьте, зачем велосипед изобретать, если они есть и работают? ))
Shura
Отправлено: 06.05.2004, 10:00


Дежурный стрелочник

Группа: Участник
Сообщений: 45



QUOTE (olegenty @ 06/05/2004, 10:32)
а можно и намного проще: взять да и установить ShellControls из папочки Examples\ShellControls, встают они в папочку Samples, набор из 4-х компонентов:
TShellTreeView
TShellListView
TShellComboBox
TShellChangeNotifier

полый аналог Проводника, с рабочим столом, Моими документами, корзиной и тд...

у меня билдер 5 и там нет этих компонентов :-(
Если есть возможность скинь, пожалуйста на почту.
shura0#yandex.ru
olegenty
Отправлено: 06.05.2004, 10:07


Ветеран

Группа: Модератор
Сообщений: 2412



Прикрепляю:

User Attached Image Скачать файл
ShellControls.zip


Shura
Отправлено: 06.05.2004, 12:32


Дежурный стрелочник

Группа: Участник
Сообщений: 45



Укачал, при линковке требует библиотеку rtl.lib. У меня такой нету.
В папке lib\psdk\ нашел rtm.lib, переименновал в rtl.lib, все слинковалось, установилось, но компоненты не появились.
Мож несовместимость версий?
Shura
Отправлено: 06.05.2004, 12:35


Дежурный стрелочник

Группа: Участник
Сообщений: 45



ладно, плевать! Буду пользовать стандартный.
olegenty
Отправлено: 07.05.2004, 06:58


Ветеран

Группа: Модератор
Сообщений: 2412



я не проверял на 5.
просто поищи в инете ShellControls...
Mythos
Отправлено: 07.05.2004, 09:50


Ученик-кочегар

Группа: Участник
Сообщений: 28



Насчет получения пути к папкам пользователя

А что если считать с реестра вот этот ключик

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

например переменная типа стринг -> Personal или Desktop
путь к папочкам есть -> можно пользовать компонент CDirectoryOutline smile.gif
Pirs
Отправлено: 10.05.2004, 23:28


Дежурный стрелочник

Группа: Участник
Сообщений: 39



На 5 билд можно поставить компонент отсюда:
http://www.ortus-software.com
Но прикрутить его свойства для своих специфических задач — я лично не смог.
Admin
Отправлено: 11.05.2004, 08:43


Владимир

Группа: Администратор
Сообщений: 1190



Что-то я не понял, а функция SelectDirectory(),
а компонент DirectoryListBox с вкладки Win 3.1
или компонент DirectoryEdit из библиотеки RXLib не подходят ???
Gedeon
Отправлено: 11.05.2004, 09:32


Ветеран

Группа: Модератор
Сообщений: 1742



Да таких компонентов в сети просто немеряно. Я дома посмотрел пару когда-то скачал, так на всякий случай, но не пользовался никогда.
Что касается путей к указанным выше папкам, так правильно Mythos написал, читайте вышеуказанный ключ реестра.
olegenty
Отправлено: 11.05.2004, 09:38


Ветеран

Группа: Модератор
Сообщений: 2412



В обед попробую на 5-м билдере ShellControls собрать. Если получится — выложу.

Вернуться в Вопросы программирования в C++Builder