delphi DbGrid鼠标滚屏  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi DbGrid鼠标滚屏


Delphi的DbGrid默认不支持滚屏。通过一下代码可以让DbGrid支持鼠标滚屏
 
procedure NewGridWnd(var message:TMessage); 
 
OldGridWnd: TWndMethod;


procedure TForm1.FormCreate(Sender: TObject);
begin
  
  //支持鼠标滚动
  OldGridWnd :=dbgrd.WindowProc;
  dbgrd.WindowProc :=NewGridWnd;
end;
//支持鼠标滚动
procedure TForm1.NewGridWnd(var message:TMessage);
var
  IsNeg: Boolean;
begin
  if message.Msg = WM_MOUSEWHEEL then
    begin
      IsNeg :=Short(message.WParamHi)<0;
      if IsNeg then
        dbgrd.DataSource.DataSet.MoveBy(1)
      else
        dbgrd.DataSource.DataSet.MoveBy(-1)
    end
  else
    OldGridWnd(message);
end;

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.041572093963623 seconds