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

Вниз

Как отследить изменение свойства компонента Enabled?   Найти похожие ветки 

 
Sergo_NIG   (2004-08-18 11:18) [0]

Доброго всем текущего времени дня!
Уважаемые, подскажите пожалста можно ли (и, если да, то как)  отследить изменение свойства компонента Enabled (True/False) и на это событие прописать лбаботчик?
Заранее благодарен.


 
Anatoly Podgoretsky ©   (2004-08-18 11:22) [1]

Надо писать наследника.


 
Sergo_NIG   (2004-08-18 11:28) [2]

> Anatoly Podgoretsky
Т.е. писать наследника и выносить события OnEnabled и OnDisabled что ли?


 
Skyle ©   (2004-08-18 11:29) [3]


> [2] Sergo_NIG   (18.08.04 11:28)

Писать наследника и перекрывать его SetEnabled.


 
Digitman ©   (2004-08-18 11:30) [4]


> Т.е. писать наследника и выносить события OnEnabled и OnDisabled
> что ли?


можно и так


 
Skyle ©   (2004-08-18 11:33) [5]


> [4] Digitman ©   (18.08.04 11:30)

А можно это сделать, ловя в наследнике CM_ENABLEDCHANGED?


 
Sergo_NIG   (2004-08-18 11:38) [6]

С наследником понятно...
Тогда вопрос номер следующий: а если подобный обработчик надо написать к компонентам, принадлежащим разным классам, то к каждому компоненту своего наследника писать? (прошу прощения если вопрос ламерский)


 
clickmaker ©   (2004-08-18 11:43) [7]


> к каждому компоненту своего наследника писать?

угу. Если только у них всех нет общего базового класса с этим свойством


 
TUser ©   (2004-08-18 11:52) [8]

Если не хочется писать много разных наследников, то сделай у себя в программе процедуру SetEnabledVaue(Control,Value) и там пиши все, что хочешь. Соотвественно, вызовы Enabled:=true/false замени на вызовы этой процедуры.


 
Sergo_NIG   (2004-08-18 11:52) [9]

Ну, собственно, общий класс: TControl (или в принципе даже можно свести к TWinControl) и он как я понимаю имеет свойство Enabled.
Т.е. надо писать наследника TWinControl (или TControl для более общего случая)...но тогда надо сделать так, чтобы указанные компоненты наследовали из созданного класса...


 
Sergo_NIG   (2004-08-18 11:55) [10]


> TUser ©  [8]
> Если не хочется писать много разных наследников, то сделай
> у себя в программе процедуру SetEnabledVaue(Control,Value)

Отличная мысля для более быстрого (но ИМХО менее универсального) решения ...но в моем случае возможно пройдет, попробую)


 
Юрий Зотов ©   (2004-08-18 12:01) [11]

Свойство Enabled имеют не только контролы (TMenuItem, TAction и др.).


 
Digitman ©   (2004-08-18 12:02) [12]


> Skyle ©   (18.08.04 11:33) [5]
> А можно это сделать, ловя в наследнике CM_ENABLEDCHANGED?


возможно, наверно ...

но в любом случае надо внимательно смотреть, что происходит в обработчике CM_ENABLEDCHANGED и его "обвязке", чтобы не упустить потенциальные некорректности при таком подходе (связанные с заранее неизвестной логикой в назначаемом в будущем прикладном обработчике событий OnEnabled/OnDisabled)



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

Форум: "Основная";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.034 c
1-1092912806
STARfish
2004-08-19 14:53
2004.09.05
Как обработать клик по ScrollBox, по его полосе прокрутки?


1-1092990871
Zhekson
2004-08-20 12:34
2004.09.05
нажатие клавиши


14-1092631028
КаПиБаРа
2004-08-16 08:37
2004.09.05
Порекомендуйте программы


3-1092044112
Алексей
2004-08-09 13:35
2004.09.05
после выполнения SQL запроса результат не отображается


8-1087299715
Ruslan
2004-06-15 15:41
2004.09.05
А как воспроизводить потоковый звук ?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский