Главная страница
    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.004 c
3-1188556394
Yurikon
2007-08-31 14:33
2008.01.06
Логическое поле в grid`е


2-1197368702
В. Алексей
2007-12-11 13:25
2008.01.06
Сдвиговый регистр в delphi


2-1197148139
Lip
2007-12-09 00:08
2008.01.06
Транспонирование матрицы не заводя новой матрицы


2-1197332815
San1
2007-12-11 03:26
2008.01.06
создание класса на основе TBitmap


11-1182345030
nikfel
2007-06-20 17:10
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский