关闭

Delphi开发之:在DBGrid中用Mouse滚动键滚动记录

1058人阅读 评论(0) 收藏 举报

首先在Unit的 private中写一过程OnMouseWheel。如下:
private
    { Private declarations }
        procedure OnMouseWheel(Var Msg :TMsg;var Handled:Boolean);

 

接着,实现OnMouseWheell过程的代码如下:

Procedure TDeptfrm.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
         SendMessage(DBGrid1.Handle,WM_VSCROLL,SB_PAGEUP,0);
     end
    else
     begin
       if DBGrid1.Focused then
         SendMessage(DBGrid1.Handle,WM_VSCROLL,SB_PAGEDOWN,0);
     end;
    Handled:= True;
  end;
end;

以上代码需要更改DBGrid1为你所命名的DBGrid的Name

最后,在FormCreate上来调用以上方法

procedure TDeptfrm.FormCreate(Sender: TObject);
begin
  Application.OnMessage:=OnMouseWheel;
end;

 

完成以上操作,再运运行你的程序,看看结果对不对?

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:33152次
    • 积分:519
    • 等级:
    • 排名:千里之外
    • 原创:17篇
    • 转载:0篇
    • 译文:0篇
    • 评论:11条
    文章分类
    最新评论