Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сделать чтобы в DBGrid работала колесо мыши?


APXi ©   (2004-03-05 18:57:00) 

Как сделать чтобы в DBGrid работала колесо мыши?


Anatoly Podgoretsky   (2004-03-08 08:50:00) [1]

KA_ ©   (06.03.04 15:49) [9]
Да помогает, при том будет не только грид работать и многое другое, например редакторы, которые на это не расчитаны, да и сама прокрутка будет приятнее работать, например в активном проводнике или почте уже не потребуется тыкать мышкой в окно, а достаточно будет просто переместить указатель на нужное подокно и прокрутить. Без установки драйвера, прокрутка идет только в том подокне, которое активно.


Navi   (2004-03-08 08:45:00) [2]

Ну так а чего добавлено в RxDBGrid, что она колесо понимает?


Германн   (2004-03-07 21:57:00) [3]

2 Anatoly Podgoretsky ©   (06.03.04 12:01) [7]
Не поможет :((

RxDBGrid тоже умеет работать с колесом.


Maverick   (2004-03-06 18:03:00) [4]

Поставь DevExpress Quantum Grid и не заморачивайся... Там не только это, но даже вариант с залипанием колесика реализовано.... ну когда жмешь - появляется круг со стрелками и можно просто мышей работать вверх-вниз....
И еще множество других возможностей...


KA_   (2004-03-06 15:49:00) [5]

>asp ©   (06.03.04 11:30) [6]
>Можно переопределить TCustomGrid.DoMouseWheelUp, TCustomGrid.DoMouseWheelDown or TWinControl.DoMouseWheel

Ничего хорошего из этого не получится. Придется перекомпилировать другие модули VCL, которые используют указанные классы. Иначе их (модули) невозможно будет использовать - Unit <element> was compiled with a different version of <element>.<element>

>Anatoly Podgoretsky ©   (06.03.04 12:01) [7]

Помогает?

>JibSkeart ©   (06.03.04 12:07) [8]
И ташить в код чужую либу? Не всегда хорошее решение, к сожалению.

>Алхимик ©   (05.03.04 19:42) [3]

Можно так (для D7)

 TmyDBGrid = class(TDBGrid)
 published
   property OnMouseWheel;
 end;

а в обработчике делай что хочешь :)


JibSkeart   (2004-03-06 12:07:00) [6]

или поставить DBGridEh :))


Anatoly Podgoretsky   (2004-03-06 12:01:00) [7]

Поставить нормальный драйвер мыши, например Intelli Mouse и забыть про проблему.


asp   (2004-03-06 11:30:00) [8]

Можно переопределить
TCustomGrid.DoMouseWheelUp, TCustomGrid.DoMouseWheelDown or TWinControl.DoMouseWheel


Vemer   (2004-03-05 20:03:00) [9]

Берешь ApplicationEventer и в его onMessage вписываешь:
If Msg.message = WM_MOUSEWHEEL then
  begin
   Msg.message := WM_KEYDOWN;
   Msg.lParam := 0;
 If SmallInt(HiWord(Msg.wParam)) > 0 then
    Msg.wParam := VK_UP
  else
    Msg.wParam := VK_DOWN;
  Handled := False;
 end;

теперь у тебя в проге колесо как кнопки вверх/вниз работает...


APXi   (2004-03-05 19:55:00) [10]

>> Либо писать наследника
А какие сообщения от колесика мыши надо обрабатывать?


Алхимик   (2004-03-05 19:42:00) [11]

Либо писать наследника, либо искать другой компонент. ИМХО.


APXi   (2004-03-05 19:15:00) [12]

Ну чтобы записи прокручивались колесом.


Алхимик   (2004-03-05 19:12:00) [13]

В смысле?
Быстренько уточните проблему, а то придёт грозный АП.


Наверх

Титульная страница Поиск, карта сайта Написать письмо