|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
04.03.2009, 16:55 | #1 |
Форумчанин
Регистрация: 08.12.2008
Сообщений: 156
|
DBGrid и событие onMouseWheelDown(Up)
после того, как поместил на форму BDGrid, перестали обрабатываться события onMouseWheelDown и onMouseWheelUp моей формы. Как мне снова обрабатывать движения колесика мыши?
|
04.03.2009, 18:07 | #2 |
работа не волк....
Форумчанин
Регистрация: 09.06.2008
Сообщений: 337
|
Попробуйте в FormCreate написать:
setfocus; или перед выполнением события: form1.setfocus;
Цель, для которой требуются неправые средства, не есть неправая цель.
Последний раз редактировалось Лукманов Александр; 04.03.2009 в 18:10. |
04.03.2009, 18:30 | #3 |
Форумчанин
Регистрация: 08.12.2008
Сообщений: 156
|
хм.. не помогает
|
04.03.2009, 18:54 | #4 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
DBGrid ни при чем. Я проверил - она никак не влияет. Ищите, какую вы внесли ошибку ранее.
|
06.03.2009, 11:30 | #5 |
Форумчанин
Регистрация: 08.12.2008
Сообщений: 156
|
хм. если поставить DBGrid.Enable := false; то колесико мышки снова реагирует, а если в true, то нет.
видимо, придется рассматривать положение курсора, и если он над DBGrid'ом, ставить ему энаблтру, иначе - энейблфолс хотя я сейчас помозговал и понял, что это не выход, т.к. в мой DBGrid могут постоянно вноситься какие-то изменения и ограничивать их положением курсора над этим гридом - неразумно. подскажите какой-нибудь вариант, пожалуйста Последний раз редактировалось Stilet; 06.03.2009 в 12:16. |
06.03.2009, 12:16 | #6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
Код в студию.
I'm learning to live...
|
06.03.2009, 12:40 | #7 |
Форумчанин
Регистрация: 08.12.2008
Сообщений: 156
|
код чего?.. там не самый маленький проект.. ну, могу код для юнита формы выложить..
|
06.03.2009, 13:17 | #8 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
Подожди, а выполнение заходит вообще в этот обработчик?, ато там у тебя If прям сначала, и в нем проверочки, которые могут не выполняться, поскольку скорее всего там 0, из-за того что событие то формы, и она не может определить положение курсора над собой, поскольку курсор находится не на ней а на контроле.
Ты это проверь и если что с помошью ScreenToClient(Mouse.Cursor) преобразуй координаты курсора, а потом уж и проверяй их
I'm learning to live...
|
11.03.2009, 22:33 | #9 |
Пользователь
Регистрация: 25.02.2009
Сообщений: 28
|
Просто фокус ввода на объекте DbGrid, а он в свою очередь сообщения от колесика мыши просто не обрабатывает.
Для Dbgrid надо создать свой компонент со свойствами OnMouseWheelUp и OnMouseWheelDown. У DbGrid один из его потомков TCustomGrid. А у StringGriв например - TDrawGrid. И из TCustomGrid свойства OnMouseWheelUp и OnMouseWheelDown изключили, видимо этот код со времен появления колесика у мыши в борланде никто и не переписывали, в отличии от того-же TDrawGrid. Вот вариант, что у меня получилось . Правда я поместил её на закладку Standard (мне так удобней было протестить), там его искать после инсталяции (если не чего не менять в исходнике). Написал только названия класса, а остальное копировал из объекта TControl = class(TComponent) ... Код:
Последний раз редактировалось CahekG; 11.03.2009 в 23:17. |
13.04.2009, 12:43 | #10 |
Новичок
Джуниор
Регистрация: 13.04.2009
Сообщений: 1
|
я попытался создать класс по вашему примеру. но у меня ничего не вышло. все по-прежнему. что я сделал не так?
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Событие | vitamin.rulez | Помощь студентам | 7 | 10.02.2009 11:46 |
Событие | terminadoor | Общие вопросы Delphi | 13 | 17.07.2008 09:25 |
Событие OnDrawDataCell у DBGrid | Yulya22 | БД в Delphi | 1 | 19.04.2008 14:44 |