在窗体添加一个TApplicationEvents组件(在Additional中),然后在它的OnMessage事件中添加如下代码:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
begin // 当在 DBGrid1 上发生鼠标滚轮事件时
if (DBGrid1.Focused) And (Msg.message = WM_MOUSEWHEEL) then
begin
if Msg.wParam > 0 then // 滚轮上滚
SendMessage(DBGrid1.Handle, WM_KEYDOWN, VK_UP, 0) // 向DBGrid1发送 VK_UP按键消息,其他你要处理的事件也再次处理
else // 下滚
SendMessage(DBGrid1.Handle, WM_KEYDOWN, VK_DOWN, 0);
Handled := True; // 消息已经处理完毕
end;
end;
不太记得了,是来帮顶的
不知道你用的是哪个版本的DELPHI。DELPHI2010应该是onMouseWheel事件啊,D7貌似没有这个事件。