| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > при получении фокуса листбоксом конпка становилась |
| Автор: Drizhenko 19.1.2006, 07:58 |
| Есть листбокс и кнопка. Как сделать чтобы при получении фокуса листбоксом конпка становилась доступной (enabled=true), а при потери фокуса - недоступной. |
| Автор: RN3QGA 19.1.2006, 09:02 |
| Если правильно понял то можно попробывать обработать события для ListBox OnEnter и OnExit . |
| Автор: ShadeSt 19.1.2006, 09:29 | ||
Вот только я не пойму зачем это надо?? Ведь на кнопку в таком случае никогда не нажать
|
| Автор: Drizhenko 19.1.2006, 11:13 |
| Точно. Нажать нельзя. В обще нужно так сделать если в листбоксе ничего не выбрано, то на кнопку нельзя нажать. Не могу понять в какое событие это запихать. |
| Автор: Rennigth 19.1.2006, 11:20 | ||
немного лень тестировать на какие события это вешать, но впринципе это должно работать:
|
| Автор: Snowy 19.1.2006, 11:33 | ||
|
| Автор: Alexeis 19.1.2006, 12:32 |
| Я думаю что лучше будет перекрыть методы Tlistbox GetSelected SetSelected в новом наследнике. тогда можно будет отследить все програмные измениения (внутренние). Кроме надо будет еще обрабатывать onClick для слежения за пользовательскими изменениями. для слежения за изменениями из внешней програмы надо отлавливать сообщения LB_SETSEL LB_SETCURSEL тогда уже нет необходимости в переопределении GetSelected SetSelected Приемущество этого метода по сравнению с методом Snowy соостоит в том что не осуществляются постоянные проверки. метод Rennigth не контролирует програмные изменения |