Вниз
Скачать: CL | DM;

TShellTreeView с галочками   Найти похожие ветки 

 
Андрей Молчанов   (2005-07-19 18:19) [0]

Здравствуйте!

Возникла необходимость прикрутить к TShellTreeView чекбоксы. Их-то я сделал, но в ShellTreeView у одного файла может быть несколько экзэмпляров (например, "Рабочий стол -> Мои Докуметы -> Файл.txt" и "Рабочий стол -> Мой Компьютер -> C:\ -> ... -> Мои Докуметы -> Файл.txt"). Как бы сделать, чтобы при выделении одного экзэмпляра, выделялись все остальные? Пожалуйста, помогите!


 
Fay ©   (2005-07-19 18:33) [1]

http://delphimaster.net/view/1-1121694103/


 
Андрей Молчанов   (2005-07-19 18:37) [2]

Нет, галочки я добавил, вопрос именно в одновременном выделении нескольких элементов дерева, указывающих на один файл, как это сделано в стандартном бэкапе от Microsoft.


 
Fay ©   (2005-07-19 18:40) [3]

2 Андрей Молчанов   (19.07.05 18:37) [2]
Не понял


 
Андрей Молчанов   (2005-07-19 18:53) [4]

У тебя стоит Microsoft Backup?
Если да, то на закладке, какие файлы бэкапить, находится дерево папок. На первом уровне в нем рабочий стол, на втором Мои Документы, Мой компьютер и Сетевое окружение. Ветвь Мои Документы дублирует по содержанию соответствующую папку в Моем Компьютере. Значит, на один файл может приходиться 2 элемента. Необходимо, чтобы При выделении одного, автоматически выделялся и второй.


 
Fay ©   (2005-07-19 19:11) [5]

2 Андрей Молчанов   (19.07.05 18:53) [4]
>> Необходимо, чтобы При выделении одного, автоматически выделялся и второй.
Так и сделай.


 
Андрей Молчанов   (2005-07-19 19:23) [6]

А как?
Есть событие OnChangeStatus - а как опознать нужный элемент - просканировать все дерево на предмет дубликатов? Слишком долго. Может быть что-нибудь, связанное с PIDL?


 
Fay ©   (2005-07-19 19:37) [7]

2 Андрей Молчанов   (19.07.05 19:23) [6]
Извините, а долго - это сколько?


 
Андрей Молчанов   (2005-07-19 19:47) [8]

Все дерево файловой системы, для проверки надо будет открыть каждый диск, каждую папку - дубликаты могут встречаться не только в этих ветках, в ветке Мой Компьютер, например, есть папки Общие документы и Документы - <имя пользователя>.


 
Андрей Молчанов   (2005-07-21 18:31) [9]

Нашел - при создании каждого элемента присваиваю свойству Data указатель на дублирующие ссылки. Потом при изменении StateIndex обрабатываю и их тоже.



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.024 c
1-1121531102
Defunct
2005-07-16 20:25
2005.08.07
AV при создании формы-фрейма


4-1118239226
Andreykass
2005-06-08 18:00
2005.08.07
LPT порт


4-1118310753
Vovaka
2005-06-09 13:52
2005.08.07
Как винда узнает когда время переводить ?


6-1114484243
Drew
2005-04-26 06:57
2005.08.07
about TWebBrouser?


3-1119982517
serguncho
2005-06-28 22:15
2005.08.07
Проблема с сохранением информации в Firebird




   Наверх