| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Скролл колесом мыши |
| Автор: vadik704 30.7.2007, 08:33 | ||
| Здравствуйте! У меня вопрос: У меня на форме scrollbox, а на нем combobox. Соответственно скроллбокс имеет горизонтальную полосу прокрутки. Прокрутку колесом делаю так:
Проблема: когда курсор находится на комбобоксе колесом мыши "прокручивает" весь список комбобокса. Как этого избежать? Только,пжлст, не пишите "лови mousewhee"l. Прошу код, или ссылку на него. |
| Автор: Yanis 30.7.2007, 15:21 | ||||
Перед объявлением твоей формы (например TForm1 = class(TForm)), после type переопределим тип TComboBox:
Встаём курсором на процедуру WMMOUSEWHEEL и жмём Ctrl+Shift+C. Всё. Должен появиться новый обработчик, который мы реализовывать не будем. Это будет заглушка. Вот, что у меня получилось на тестовом проекте:
|
| Автор: ALeXandrK 30.7.2007, 15:52 | ||||
Напиши на событие ScrollBox.OnMouseClick:
и будет тебе счастье И еще .... зачем ты перехватываешь событие целой формы, а не самого ScrollBoxа Проще ведь так...
Т.е. обрабатывать событие самого ScrollBox... но может я и не прав.... и этого требует твоя ситуация Счас перечитал твой вопрос... наверное его неправильно понял.... я думал тебе не убрать фокус с combobox... Ну может мое сообщение тоже чем-то поможет |
| Автор: vadik704 1.8.2007, 09:56 |
| Yanis, спасибо! Все получилось как надо =) Правда я надеялся заблокировать прокрутку списка колесом мыши, когда фокус на комбобоксе. Может быть знаешь как это сделать? |