Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

ShellTreeView и папка "Рабочий стол"   Найти похожие ветки 

 
igorium ©   (2012-05-11 09:11) [0]

Всем привет.
Есть дерево ShellTreeView, которое идет от Рабочего стола (root = rfDesktop).
Есть файл ini, из которого читается информация о том, какой каталог выбрать активным при загрузке программы (ShellTreeView.Path).
Соответственно при закрытии программы в ini-файл записывается путь к каталогу, который сейчас активен.
Все замечательно работает, но если выходить из программы и активный каталог будет "Рабочий стол" или "Мои документы" или их подкаталоги, то
в ini-файл записывается полный путь к Рабочему столу - С:\Documents and Settings\1234\Рабочий стол\. И соответственно открывается дерево не от root = Рабочий стол, а от С:\Documents and Settings\1234\Рабочий стол\

Как это решить я не придумал...


 
Медвежонок Пятачок ©   (2012-05-11 09:37) [1]

если в ини записана строка равная полученному при старте пути к столу, зен рут = rfDesktop

например


 
igorium ©   (2012-05-11 10:39) [2]

Это не совсем корректно.
Т.к. при старте может быть начало с диска C, а перед закрытием выбрать Рабочий стол.
Кроме этого, root у меня всегда равен rfDesktop.
Меняется только path.


 
brother ©   (2012-05-11 11:03) [3]

> Это не совсем корректно.

ты о чем?
если Pos(ini, \Рабочий стол\) then рут = rfDesktop


 
Dimka Maslov ©   (2012-05-11 13:38) [4]

Что мешает получить путь к рабочему столу (SHGetSpecialFolderPath) и сравнить со строкой из ини-файла, после чего присвоить правильное значение root?


 
igorium ©   (2012-05-11 14:04) [5]

Мне кажется я чего-то недогоняю.
В дереве есть 2 переменные - root и path.
Root - это каталог, с которого показывается дерево
Path - Это каталог, который активен.

У меня Root = rfDesktop всегда.
Меняется только Path.

Dimka Maslov
Это очень близко к тому, что я хочу.
Спасибо.
Буду использовать эту функцию и если оказывается Рабочим столом, то просто не буду задавать значение Path.


 
Медвежонок Пятачок ©   (2012-05-11 14:13) [6]

ну пипец.

и если оказывается Рабочим столом, то просто не буду задавать значение Path.


если в ини записана строка равная полученному при старте пути к столу, зен рут = rfDesktop


 
igorium ©   (2012-05-11 14:19) [7]

Медвежонок Пятачок

Зачем мне задавать рут, если он и так = rfDesktop.
Рут НЕ меняется.
У меня дерево всегда рисуется от рабочего стола.
Но активная папка может быть любой.
Сейчас у меня так, что если я сохраняю Путь в ини-файл, то при открытии ини-файла и обратном изменении Путь = значение из ини-файла в случае, если указан рабочий стол, то у меня активная папка становиться НЕ "Рабочий стол" (root) (по сути виртуальная папка), а вполне себе физическая папка, расположенная по адресу С:\Documents and Settings\1234\Рабочий стол\.
С учетом того, что root у меня по прежнему равен Рабочему столу, то выглядит это странно - Рабочий стол в Рут и еще один рабочий стол, который активен.


 
Медвежонок Пятачок ©   (2012-05-11 14:27) [8]

Рут НЕ меняется.

а у меня он меняется?


 
igorium ©   (2012-05-11 15:01) [9]

А зачем тогда
зен рут = rfDesktop


 
Медвежонок Пятачок ©   (2012-05-11 15:11) [10]

пипец два раза.
просто потому чтобы перед элс было что-то.

сохраненный путь равен текущему пути до стола?
да! - нихрена не делаем.

нет? - делаем то что делал раньше


 
igorium ©   (2012-05-12 13:22) [11]

Медвежонок Пятачок
Согласен.
Так я ж так и писал:

> Буду использовать эту функцию и если оказывается Рабочим
> столом, то просто не буду задавать значение Path.


В любом случае меняется ТОЛЬКО Path. Root всегда остается прежнем и не меняется в программе.

В любом случае, спасибо за долготерпение и желание помочь.



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.057 c
2-1331807216
selesasha
2012-03-15 14:26
2013.03.22
Поиск в массиве


3-1284731391
Сергей М.
2010-09-17 17:49
2013.03.22
Провайдер VFPOLEDB.1 и запрет возврата удаленных запис


15-1344972507
guest
2012-08-14 23:28
2013.03.22
conhost.exe...


15-1346241592
ТимоховД
2012-08-29 15:59
2013.03.22
Кто чем пользуется, если надо массовые замены делать?


2-1330523358
Alex_C
2012-02-29 17:49
2013.03.22
Resize bitmap