Возник следующий вопрос - на форме расположены ShellListView, edit и пара кнопок, как сделать так чтобы:
- в edit всегда был путь директории в которой сейчас находимся
- одна кнопка отвечала за "level up" т.е. за переход на директорию верхнего уровня (это можно реализовать с помощью ShellListView1.Back , только я не могу понять как сделать чтобы изменение директории отображалось в edit)
- а другая кнопка отвечала за переход в директорию введенную пользователем в edit (например пользователь ручками вбил директорию в edit и при нажатии данной кнопки в ShellListView отображается содержимое)
Заранее спасибо и если не сложно, можно поподробнее, только начинаю изучать Delphi
[Ответ]
Yandex 18:59 19.03.2011
eis, на вкладке компонентов "Common" ищи кнопку "Сделать все зашибись". Добавляешь на форму, нажимаешь и радуешься жизни. Вот так, а надо то всего лишь читать справку. Или для ленивых - http://drkb.ru[Ответ]
eis 19:35 19.03.2011
Где находятся эти компоненты я знаю.
Справки в delphi по этим компонентам нет, поэтому они и находятся во вкладке "Sampels".
За ссылку спасибо, но там по этим компонентам только как устранить баг при запуске приложений через них, а мне это не нужно.
[Ответ]
Hopkroft 23:26 19.03.2011
Сообщение от eis:
Доброго времени суток.
Возник следующий вопрос - на форме расположены ShellListView, edit и пара кнопок, как сделать так чтобы:
Что ты хочешь в результате получить? Может твоя проблема проще решается. Т.к. когда только начинаешь в Дельфи работать, очень часто пытаешься изобрести велосипед.
[Ответ]
eis 11:14 20.03.2011
Задание - простенький файловый менеджер, метод разработки по заданию - на основе уже созданных компонентов. Так что ShellListView идеально подходит.
Edit для отображения пути.
Одна кнопка вверх по директории ( использую ShellListView.Back, все работает)
Вторая кнопка отвечает за переход в директорию введенную пользователем в edit (использую ShellListView1.Root:= Edit1.Text)
А проблема в том как сделать чтобы связать edit и shelllistview, т.e. когда пользователь перемещается по каталогам с помощью мышки, в edit отображался актуальный путь
[Ответ]
Оля-ля 12:02 20.03.2011
eis, ваша первая проблема решается следующим образом: набрать в окне редактора "ShellListView1." и посмотреть появившийся список доступных свойств и процедур. По названию вполне можно догадаться, что это за поле.
В результате можно повесить на двойной клик в ShellListView нечто вроде
Сообщение от :
procedure TForm1.ShellListView1DblClick(Sender: TObject);
begin
edit1.Text:=ShellListView1.RootFolder.PathName;
end;
Соответственно, ваша вторая проблема решается 2мя строчками:
Сообщение от :
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellListView1.Back;
edit1.Text:=ShellListView1.RootFolder.PathName;
end;
Ваша третья проблема, если лень почитать справочник, решается с помощью гугля запросом "установить директорию shelllistview ", четвертая ссылка сверху даст нам название процедуры ExtractFileDir.
Сообщение от :
procedure TForm1.Button2Click(Sender: TObject);
begin
ShellListView1.Root:=ExtractFileDir(edit1.Text);
end;
СПАСИБО БОЛЬШОЕ)))
я просто делал через Edit1.text := ShellListView1.Folders[ShellListView1.ItemIndex].PathName;
и через SelectedFolder.PathName пробовал. Но там ошибка если элемент не выделен. оказалось все проще)
[Ответ]