如何让DbGrid支持鼠标滚轮滚动 转

本文介绍了一种在Delphi应用程序中为DBGrid组件添加鼠标滚轮翻页功能的方法。通过在ApplicationEvents控件的OnMessage事件中添加特定代码,可以实现当用户滚动鼠标滚轮时,DBGrid会相应地向上或向下滚动一行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在主窗体上加一个ApplicationEvents控件(控件在Additional面板中),
在它的OnMessage事件中加入下述代码,一切搞定~!

procedure TFrm_main_usermanager.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
var hWnd: THandle; aName: array [0..255] of char;

begin   
    //给DBGrid加上鼠标滚轮   
    if Msg.message <> WM_MOUSEWHEEL then exit;   
    hWnd := WindowFromPoint(msg.pt);   
    if boolean(GetClassName(hWnd, aName, 256))and(aName='TDBGrid') then//如果第三方控件需要修改,比如用aName='TbsSkinDBGrid'
    begin   
        if Short(HIWORD(Msg.wParam)) < 0 then
       
        begin     
            PostMessage(hWnd, WM_KEYDOWN, VK_DOWN, 0);
            PostMessage(hWnd, WM_KEYUP, VK_DOWN, 0)       
        end
        else

        begin
            PostMessage(hWnd, WM_KEYDOWN, VK_UP, 0);
            PostMessage(hWnd, WM_KEYUP, VK_UP, 0);

        end;

        Handled := true;
    end;
end;

转载于:https://www.cnblogs.com/Handll/archive/2011/11/11/2245175.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值