Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.01.06;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
2-1197366172
9899100
2007-12-11 12:42
2008.01.06
надкаталог


6-1177658517
analyst
2007-04-27 11:21
2008.01.06
Заморозка закачки через INDY TIdPOP


2-1197048547
@!!ex
2007-12-07 20:29
2008.01.06
Быстрый алгоритм сжатия упаковки(не архивация) массива


2-1197110204
dr_creigan
2007-12-08 13:36
2008.01.06
Как скрыть приложение от Process Viewer в NT


2-1197289338
..::KraN::..
2007-12-10 15:22
2008.01.06
Работа с потоками





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский