Procedure OnMouseWheel(Var Msg :TMsg;var Handled:Boolean);
begin
if Msg.message = WM_MouseWheel then
begin
if Msg.wParam > 0 then
begin
if DBGrid.Focused then
begin
SendMessage(DBGrid1.Handle,WM_KEYDOWN,VK_UP,0);
end;
end
else
begin
if DBGrid.Focused then
SendMessage(DBGrid1.Handle,WM_KEYDOWN,VK_DOWN,0);
end;
Handled:= True;
end;
end;
需要在Form创建的时候写入
Application.OnMessage:=OnMouseWheel; // 截获鼠标滚动事件
本文介绍了一种在Delphi中使用ProcedureOnMouseWheel函数控制DBGrid组件上下滚动的方法。当用户滚动鼠标滚轮时,如果DBGrid处于聚焦状态,则会触发向上或向下的滚动行为。该方法通过检测鼠标滚轮的方向并发送相应的键盘消息来实现。
1248

被折叠的 条评论
为什么被折叠?



