从quickrep类继承并创建自己的组件,在组件中添加如下事件:
procedure TWheelDBGrid.WndProc(var Msg: TMessage);
var
MousePoint:TPoint;
Handled:Boolean;
shift:TShiftState;
begin
if(Msg.Msg=WM_MOUSEWHEEL) then //捕获鼠标轮事件
begin
Handled:=false;
if(Msg.wParam>0) then //上滚
begin
if not DataSource.DataSet.Bof then
begin
PostMessage(Self.Handle, WM_KEYUP, VK_UP, 0);
DataSource.DataSet.Prior;
end
end
else //下滚
begin
if not DataSource.DataSet.Eof then
begin
PostMessage(Self.Handle, WM_KEYUP, VK_DOWN, 0);
DataSource.DataSet.Next;
end;
end;
if Handled then
exit;
end else
inherited;
end;