delphi DBgrid 数据随着鼠标滚动而滚动!

来源:互联网 发布:mac用虚拟机玩游戏 编辑:程序博客网 时间:2024/06/11 10:22
 

在delphi中dbgrid控件用鼠标滚动时,只能滚动当前显示的dbgrid数据,而无法滚动整个滚动条的数据。下面是解决方法!

1,  在你的delphi页面增加控件:Additional选项卡中的ApplicationEvents控件。

2,  然后在ApplicationEvents控件的OnMessage事件。

3,  事件内容如下:

procedure From1.ApplicationEvents1Message(var Msg: tagMSG;  var Handled: Boolean);begin        if (DBGrid1.Focused)   And   (Msg.message   =   WM_MOUSEWHEEL)   then                begin                        if   Msg.wParam   >   0   then                                SendMessage(DBGrid1.Handle,   WM_KEYDOWN,   VK_UP,   0)                        else                                SendMessage(DBGrid1.Handle,   WM_KEYDOWN,   VK_DOWN,   0);                        Handled   :=   True;                end;end;