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

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

在主窗体上加一个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;

并非原创,出自网络

时间: 2024-12-18 00:00:03

如何让DbGrid支持鼠标滚轮滚动的相关文章

javascript 实现模拟滚动条,但不支持鼠标滚轮

模拟滚动条做项目的时候,很多时候会用到,所以就写了一个这么模拟滚动条,但是不支持滚轮事件 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <style> *{padding:0;margin:0;} .scroll{width:320px;marg

支持鼠标滚轮图片自适应的焦点图代码等

支持鼠标滚轮图片自适应的焦点图代码 支持鼠标滚轮图片自适应的焦点图代码,纯JS构建,可用键盘左右键切换图片,倒序回滚,另外鼠标停止响应后可自动播放功能,兼容主流浏览器,懒人图库推荐下载! 使用方法: 1.在head区域引入样式表文件lrtk.css 2.在head区域引入lrtk.js 3.在你的网页中加入<!-- 代码 开始 --><!-- 代码 结束 -->注释区域代码即可 4.修改间隔时间和自动播放倒计时时间,请打开lrtk.js根据注释提示修改 5.去掉首页文字提示后,请注

jQuery 3D圆盘旋转焦点图 支持鼠标滚轮

之前我们分享过很多炫酷实用的jQuery焦点图插件了,今天介绍的这款jQuery焦点图非常特别,所有图片围成一个圆圈,组成一个立体视觉的圆盘,并且可以旋转选择圆盘中的图片.另外,这款jQuery 3D圆盘旋转焦点图插件还支持鼠标滚轮,可以让你更方便地浏览图片. 在线演示源码下载 接下来分析一下实现这款jQuery 3D焦点图的具体过程和源代码,代码主要由HTML.CSS以及jQuery组成,由于JS的参与,相对比较复杂. HTML代码: <ul id="carousel">

WPF中关于自定义控件的滚动条鼠标停留在内容上鼠标滚轮滚动无效的问题

问题起因:在一个用户控件里放置了1个TreeView垂直顺序放置. 当用户控件中的内容超过面板大小时,滚动条会自动出现 ,但是只有当鼠标指示在右边滚动条的那一条位置时,才支持鼠标滚轴滚动. 点在控件内部时滚轴无效. 问题分析:由于设置了d:designheight,自定义控件的宽高都是随着父容器的变化而变化的,于是我将Height设为较小的固定高度时,发现鼠标停留在控件内容时,滚轮控制滚动条滚动是有效的.这就说明UI上显示的滚动条并非是这个自定义控件的,而是这个自定义控件所在的父容器的,这样也解

如何让VB6代码编辑器垂直滚动条随鼠标滚轮滚动

VB6毕竟是很老的产品了,它的代码编辑器垂直滚动条并不能随鼠标的滚轮而滚动,这个问题会让我们在编写代码的时候觉得很不方便,不过还是有一种方法可以解决这个问题的.    先下载一个微软发布的"VB6IDEMouseWheelAddin.dll"文件(此文件已经上传到百度网盘,网址:http://pan.baidu.com/s/1c06KY7e,或者也可以自己百度一下该文件名下载),然后按照以下的方法进行(注意:此处介绍的是一种通用的方法,适合是32位和64位的系统上使用): 一.  将下

jquery鼠标移入某区域屏蔽鼠标滚轮 滚动滚动条

<script> var firefox = navigator.userAgent.indexOf('Firefox') != -1; function MouseWheel(e) { ///对img按下鼠标滚路,阻止视窗滚动 e = e || window.event; if (e.stopPropagation) e.stopPropagation(); else e.cancelBubble = true; if (e.preventDefault) e.preventDefault(

鼠标滚轮滚动方向

$('#dateYear').on('mousewheel', function(event) { if(window.event.wheelDelta>0){//向上滚动 $("#dateYear").scrollTop("100px"); }else{//向下滚动 $("#dateYear").scrollTop("100px"); } });

父子窗体滚动条支持鼠标滚轮移动

1 //作者: 415799952 追寻 2 // 513187410 疯狂→delphi 3 // 1746539685 dnyy 4 5 6 //1.设置哪个方向移动 7 procedure TForm1.BitBtn2Click(Sender: TObject); 8 begin 9 if bitbtn2.Caption='纵向滚动' then 10 begin 11 bitbtn2.Caption:='横向滚动'; 12 bitbtn2.Tag:=0; 13 end 14 else 15

控制鼠标滚轮滚动的两种方法

1 $(function(){ 2 // jquery 兼容的滚轮事件 3 var strat = true; 4 var mark = 0; 5 $(document).on("mousewheel DOMMouseScroll", function (e) { 6 var delta = (e.originalEvent.wheelDelta && (e.originalEvent.wheelDelta > 0 ? 1 : -1)) || // chrome