在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;