Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» TShellTreeView (Делфи)

Автор: hacsoft
Дата сообщения: 19.01.2006 21:25
На форме есть компонент TShellTreeView (со страницы Samles).
Мне нужно открыть в нем определенную ветку (например, диск C:\), но вот так:
TShellTreeView.Root := 'C:\';
Нельзя, т.к. в этом случае диск C: станет корнем (а не просто откроется ветка).
А вот так:
TShellTreeView.Path := 'C:\';
Просто не работает...
Так вот как же мне программно (с помощью мышки пользователь это сделать может) добраться до определенной папки?
Автор: dyr farot
Дата сообщения: 20.01.2006 11:10
ты бы версию делфей указал...
в 7-ке так:
ShellTreeView1.Path:='C:\';    
ShellTreeView1.SetFocus;
работает
Автор: hacsoft
Дата сообщения: 21.01.2006 16:39
У меня Делфи 6 и указанный способ не работает. Все равно остается открыта корневая папка...
Как же перейти программно в другую папку?
У меня в программе пользователь может изменять папку. Затем в ini-файле сохраняется, в какой он был папке и надо, что бы после повторного запуска программы была открыта сразу та папка.
Автор: Pentium133
Дата сообщения: 24.01.2006 12:21
У меня помоему в D6 работало так:
Объявляешь тип:

type
TcrShellComboBox =class(TShellComboBox);

потом в коде

ShellComboBox1.Path:= APath;
TcrShellComboBox(ShellComboBox1).Change;

Причем ShellComboBox1 настроен на ShellTreeView1, и если он не нужен - сделан невидимый.
Автор: dyr farot
Дата сообщения: 24.01.2006 13:44
hacsoft, значит шаманством заниматься придется:

Код:
unit ShellListView_2;    
type    
TForm1 = class(TForm)    
ShellComboBox1: TShellComboBox;    
ShellTreeView1: TShellTreeView;    
ShellListView1: TShellListView;    
Button1: TButton;    
....    
    
implementation    
uses ShellListView_2lib;    
...    
procedure TForm1.Button4Click(Sender: TObject);    
var    
Path: string;    
begin    
Path := 'C:\WINNT\system32\DirectX\Dinput\msprw.png';    
if otNonFolders in ShellTreeView1.ObjectTypes then    
SetPath(Path, ShellTreeView1)    
else SetPath(ExtractFilePath(Path), ShellTreeView1);    
ShellTreeView1.SetFocus;    
end;    
end.
Автор: hacsoft
Дата сообщения: 25.01.2006 15:38
Pentium133
Спасибо! Не понял, почему, но это работает
Автор: hacsoft
Дата сообщения: 27.01.2006 11:29
Еще вопрос: как в TShellComboBox сделать так, что бы выводился полный путь (как в Проводнике), а не только текущая папка?
Автор: Pentium133
Дата сообщения: 27.01.2006 12:43
Я для этого использую обычный ComboBox при этом даже делаю накапливание выбираемых путей
Автор: kii
Дата сообщения: 01.02.2006 13:31
Может взять свободные компонеты типа TurboPower. Там нормальный Shell

Страницы: 1

Предыдущая тема: Delphi: NMMServsg/NMMsg


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.