默认的DBGRID滚动条其实是有bug的 用修正的原理就可以解决问题了<br>procedure TFormAcctBalance.NewGridWnd(var Message: TMessage);<br>var<br> IsNeg : Boolean;<br>begin<br><br> if Message.Msg = WM_MOUSEWHEEL then<br> begin<br> if not flag then exit;<br> IsNeg := Short(Message.WParamHi) < 0;<br> if IsNeg then<br> dbgrd1.DataSource.DataSet.MoveBy(1) //这里不移动就行<br> else<br> dbgrd1.DataSource.DataSet.MoveBy(-1); // 这里不移动就行<br><br> end<br> else<br> OldGridWnd(Message);<br>end;