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

Вниз

TreeView   Найти похожие ветки 

 
CepJaNT   (2004-11-24 00:35) [0]

У меня к вам вопрос.
На форме у меня тривью и листвью. В тривью у меня находятся как-бы
папки а в папках файлы (у файлов значок с индексом 0, у папок - 1).
Нужно сделать следующее: при клике на папке, а именно, на элементе
в тривью с индексом иконки 1, необходимо занести все файлы этой папки, т.е.
все элементы с индексом 1 вложенные в выбранный в treeview.

Помогите пожлуйста.


 
Defunct ©   (2004-11-24 04:59) [1]

В обработчике TreeView.OnChange написать что-то типа:

if Assigned(TreeView.Selected) then
if TreeView.Selected.ItemIndex = 1 then
begin
 ListView.Clear;

//  заполняем ListView
end;


 
Defunct ©   (2004-11-24 04:59) [2]

Всмысле не ItemIndex, а ImageIndex


 
CepJaNT   (2004-11-25 00:21) [3]

Помоему, это не то, что Вы написали.
Мне нужно следующее:
В TreeView такая структура:

Папка 1
  - Подкаталог 1
      - Файл 1
      - Файл 2
      - Файл 3
  - Подкаталог 2
Папка 2
...
Папка N

Еще на форме есть ListView.
Так вот, когда я кликаю, например, по "Подкаталог 1" в ListView нужно отобразить
Файл 1, Файл 2, Файл 3 и т.д.

Т.е. все файлы, выбранного подкаталога.

Еще раз спасибо.


 
OneFragLeft ©   (2004-11-25 00:32) [4]

А может лучше взять готовые компоненты и не гемороиться?


 
OneFragLeft ©   (2004-11-25 00:33) [5]

Компонентов для работы с файлами и папками хватает, вроде. Страница Additional - там всё, что нужно.


 
CepJaNT   (2004-11-25 00:41) [6]

Мне с файлами не надо!
Это все заносит в TreeView юзер.
А мне лишь надо все child"ы выбранного элемента занести в listview.

Это структура тривью:
Папка 1
 - Подкаталог 1
     - Файл 1
     - Файл 2
     - Файл 3
 - Подкаталог 2
Папка 2
...
Папка N
Я кликаю п "Подкаталог 1" а мне в листвью надо чтобы добавилось "файл 1", "файл 2", "файл 3".


 
OneFragLeft ©   (2004-11-25 00:43) [7]

Извиняюся, я их просто на другую вкладку переставлял:)
Win32. Хотя Вы и так их используете. В чём там вообще запарка?


 
CepJaNT   (2004-11-25 00:52) [8]

" В чём там вообще запарка?"
Смотри пост 3 и 6


 
OneFragLeft ©   (2004-11-25 00:58) [9]


procedure TForm1.TreeView1Click(Sender: TObject);
var i:integer;
begin
if form1.TreeView1.Selected.HasChildren then
begin
 form1.ListView1.Items.Clear;
 for i:=0 to form1.TreeView1.Selected.Count-1 do
  begin
   if form1.TreeView1.Selected.Item[i].ImageIndex=0 then
      form1.ListView1.Items.Add.Caption:=form1.TreeView1.Selected.Item[i].Text;
  end;
end;
end;

Вроде этого?


 
OneFragLeft ©   (2004-11-25 00:59) [10]

Устраивает?


 
OneFragLeft ©   (2004-11-25 01:04) [11]

Можно было и по-другому, но не захотел.


 
OneFragLeft ©   (2004-11-25 01:36) [12]

Ушёл, ничё ни сказал. Вот и делай людям добро:(


 
CepJaNT   (2004-11-26 01:00) [13]

"Ушёл, ничё ни сказал. Вот и делай людям добро:("

Я не ушел!
Я только сейчас пришел на форум, времени не было.
А за ответ спасибо большое, щас попробую!


 
Игорь Шевченко ©   (2004-11-26 01:11) [14]


> procedure TForm1.TreeView1Click(Sender: TObject);
> var i:integer;
> begin
> if form1.TreeView1.Selected.HasChildren then
> begin
>  form1.ListView1.Items.Clear;


А зачем внутри метода объекта TForm1 вставлять ссылки на конкретный экземпляр form1 ?


 
OneFragLeft ©   (2004-11-26 20:19) [15]

Так быстрее писать - form1 написал, точку поставил, и получил список всех объектов на форме. Просто слово form1 меньше всего по длинне:)


 
Defunct ©   (2004-11-27 02:22) [16]

> OneFragLeft ©   (26.11.04 20:19) [15]
> Так быстрее писать - form1 написал, точку поставил

Позвольте с вами несогласиться.
1. Писать так как вы предлагаете не быстрее. Потому что можно было написать Tr нажать CTRL-Space и автоматически появился бы список в котором был бы идентификатор TreeView1.
2. Конкретный экзеспляр формы пасать вообще не правильно.



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

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

Наверх




Память: 0.5 MB
Время: 0.027 c
1-1101878751
Vladik
2004-12-01 08:25
2004.12.12
MDI формы, анимация


6-1096974106
Algol
2004-10-05 15:01
2004.12.12
Даты изменения файлов по FTP


1-1101592859
Grim
2004-11-28 01:00
2004.12.12
Dynamic arrays и TStream


3-1100252331
Olga_cc
2004-11-12 12:38
2004.12.12
Qreport


6-1096680587
Аноним
2004-10-02 05:29
2004.12.12
Как узнать мак-адрес сетевой карты?