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

Вниз

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

 
fog   (2007-12-09 16:25) [0]

Есть связка TShellComboBox + TShellListView. При изменении Path
ShellComboBox1.Path := "E:\";
ShellListView1.Update;
ShellListView не обновляется. Обновляется ТОЛЬКО при ручном выборе.

Пробовал вместо ShellListView1.Update:
ShellComboBox1.Parent.Perform(WM_COMMAND, CBN_SELENDOK, 0);
с тем же результатом.

Где ошибка (в Perform) и как ShellListView обновить программно?


 
Johnmen ©   (2007-12-09 17:16) [1]

ShellComboBox1.Path := "E:\";
ShellListView1.Root := ShellComboBox1.Path;


 
{RASkov} ©   (2007-12-09 17:25) [2]

> [0] fog   (09.12.07 16:25)
> ShellComboBox1.Path := "E:\";

Или попробуй так:
ShellComboBox1.Root:="E:\";


 
fog   (2007-12-09 18:31) [3]


> Johnmen ©   (09.12.07 17:16) [1]
> ShellListView1.Root := ShellComboBox1.Path;


Идея хорошая, но не работает. Если изначально ShellComboBox1.Root = rfMyComputer, то изменение ShellListView1.Root повлечет за собой изменение ShellComboBox1.Root; в итоге - если потребуется перейти на другой диск через ShellComboBox, то придется заново восстаналивать ShellComboBox1.Root := rfMyComputer.


 
Johnmen ©   (2007-12-09 18:33) [4]


> fog   (09.12.07 18:31) [3]

Сейчас попробовал. Работает.


 
fog   (2007-12-09 19:05) [5]


> Johnmen ©   (09.12.07 18:33) [4]
>
> Сейчас попробовал. Работает.


Формально - да. Получается ShellComboBox1.Root = "E:\".

> если потребуется перейти на другой диск через ShellComboBox,
>  то придется заново восстаналивать ShellComboBox1.Root :
> = rfMyComputer.

backspace"ом в ShellListView можно вернутся до уровня rfDesktop, при этом в ShellComboBox"е как было "E:\" так оно и остается. Не годится.


 
Johnmen ©   (2007-12-09 20:46) [6]

Сделай так
1.
type
 TMyShellComboBox = class(TShellComboBox);

2.
ShellComboBox1.Path := "E:\";
TMyShellComboBox(TShellComboBox1).Select;


 
fog   (2007-12-09 23:35) [7]


> Johnmen ©   (09.12.07 20:46) [6]
> Сделай так
> 1.
> type
>  TMyShellComboBox = class(TShellComboBox);
> 2.
> ShellComboBox1.Path := "E:\";
> TMyShellComboBox(ShellComboBox1).Select;


спасибо, сработало.



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

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

Наверх




Память: 0.48 MB
Время: 0.012 c
2-1197120040
dim
2007-12-08 16:20
2008.01.06
Ввод в поле TEdit1


15-1196686111
@!!ex
2007-12-03 15:48
2008.01.06
ATX матери не подходит питание от ATX БП.


4-1181989365
cosinus
2007-06-16 14:22
2008.01.06
Как с помощью WinAPI расшарить папку на удаленном компе?


15-1196511475
helpme
2007-12-01 15:17
2008.01.06
Странная повестка, помогите разобраться.


2-1197210457
San1712
2007-12-09 17:27
2008.01.06
Как копировать содежимое переменной типа Pointer -->String ?