Форум: "Основная";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.04 c