Главная страница
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
15-1196511475
helpme
2007-12-01 15:17
2008.01.06
Странная повестка, помогите разобраться.


2-1197279243
ZLinX
2007-12-10 12:34
2008.01.06
Удаление Обьектов


15-1196685094
ArtemESC
2007-12-03 15:31
2008.01.06
Новая больная идея!!!


2-1197204719
azl
2007-12-09 15:51
2008.01.06
ORDER BY (Query1.Edit) Cannot modify a read-only dataset


2-1197352608
Alexandr Malygin
2007-12-11 08:56
2008.01.06
арифметика