Колесико мыши в DBGrid |
![]() |
![]() |
Статьи |
Если мы хотим переместить большое количество записей вверх или вниз, мы просто не сможем делать это при помощи колеса мыши, нам все-равно придется пользоваться полосой прокрутки или клавиатурой. Чтобы перехватить сообщение WM_MOUSEWHEEL и заменить существующее поведение DBGrid на то, которое мы хотим. Но как мы можем перехватить сообщения, которые направлены к DBGrid? Мы просто изменим WndProc для DBGrid и поместим там то, что нам нужно.
Так что мы можем позже заменить WndProc командой, подобно:
например, в событии OnCreate формы. Здесь мы имеем модуль формы, в котором помещено DBGrid, TTable и TDataSource.
В основном, когда мы перемещаем колесо вверх (двигаем палец от себя) сообщение дает нам положительное значение в HiWord для wParam, а когда мы перемещаем колесо вниз (перемещая палец к себе), мы получаем отрицательное значение. А в остальном, читайте справку Win32.hlp относительно WM_MOUSEWHEEL. |