DBGrid可否如同StringGrid完整支援滑鼠滚轮?(100)

  • 主题发起人 主题发起人 hql1981
  • 开始时间 开始时间
H

hql1981

Unregistered / Unconfirmed
GUEST, unregistred user!
Delphi中的DBGrid在使用滑鼠的滚轮时, 只能针对一页的资料做上下移动, 当用滑鼠滚轮移动到该页最后一笔时, 再往下滚动资料无法自动移动到下一笔(Next),会停住,...请问大家怎样解决?
 
加一个鼠标滚动事件Procedure OnMouseWheel(Var Msg :TMsg;var Handled:Boolean);procedure TFfysz.OnMouseWheel(var Msg: TMsg; var Handled: Boolean);begin if Msg.message = WM_MouseWheel then begin if Msg.wParam > 0 then begin if DBGrid1.Focused then DBGrid1.DataSource.DataSet.Prior; end else begin if DBGrid1.Focused then DBGrid1.DataSource.DataSet.Next; end; Handled:= True; end;end;在FormShow事件加一句Application.OnMessage:=OnMouseWheel;
 
//实现鼠标滚轮翻页功能添加控件:ApplicationEvents1---- 在additional页同时添加该控件的 onmessage 事件: 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;// //实现鼠标滚轮翻页功能
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部