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

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

Как заставить правил. работать скроллинг в DBGrid + ADOQuery. [D5, Win95/98, WinME, NT4, Win2k]


IlyaGer ©   (2003-02-28 10:47:00) 

Здравствуйте!
Использую в программе DBGrid связанный с ADOQuery.
При попытке скрола с помощью ролика мыши не происходит перехода к следующей записи в ADOQuery.
При этом, выделенной в DBGrid становиться следующая строка, и становиться несколько элементов (треугольников), показывающих выбранную строку.
Так же не возможно сделать скролл не данные которые не поместились на экран.
Проблема пермонентно появляется или пропадает в зависимость от драйверов и производителей мыши.
Заранее спасибо!
Илья.


sniknik   (2003-02-28 12:10:00) [1]

сори, недостающее звено :-))

TWMMouseWheel = packed record
Msg: Cardinal;
Keys: SmallInt;
WheelDelta: SmallInt;
case Integer of
0: (
XPos: Smallint;
YPos: Smallint);
1: (
Pos: TSmallPoint;
Result: Longint);
end;


sniknik   (2003-02-28 12:08:00) [2]

TMyDBGrid = class(TDBGrid)
procedure WMMouseWheel(var Message: TWMMouseWheel); message WM_MOUSEWHEEL;
......


procedure TMyDBGrid.WMMouseWheel(var Message: TWMMouseWheel);
begin
if DataSource.DataSet.Active then begin
if Message.WheelDelta > 10 then DataSource.DataSet.Prior;
if Message.WheelDelta < -10 then DataSource.DataSet.Next;
end;
end;


Наверх

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