Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.068 c
2-1343403948
VitalijZ
2012-07-27 19:45
2013.03.22
TWebbrowser


2-1339663763
Zheksonz
2012-06-14 12:49
2013.03.22
Не могу найти три отличия в коде


2-1331452366
Alex_C
2012-03-11 11:52
2013.03.22
Работа с БД в отдельном треде.


15-1345752441
Дмитрий С
2012-08-24 00:07
2013.03.22
Фотографы извращенцы


15-1341775548
Invoker
2012-07-08 23:25
2013.03.22
Как сделать LockUpdate ListBox у?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский