在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Delphi的DBGrid控件对鼠标滚轮的支持有问题,不仅不能连续滚动,显示的内容还会错误。 在网上找了很多代码段,发现大家都只是针对一个Form页面提出解决方法,而且这些方法都存在一个同样的问题,那就是,如果DBGrid控件里正在进行编辑,则鼠标滚轮根本不起作用。 结合这些方法,本人提出了一个通用的解决方案,这个方案只需要在应用程序的主Form里加入处理程序就可以达到整个应用程序的所有DBGrid控件都得到支持。 原理是:当有鼠标滚轮事件发生时判断程序当前激活的界面里激活(或者是获得焦点)的控件类名如果是TDBGrid(当未处于编辑状态时是这个类名)或者是TDBGridInplaceEdit(当DBGrid处于编辑状态时是这个类名)则按加入的程序进行相应的滚动处理。 具体如下: 注意,只需要在主Form里按以下加入红色的代码段即可。
unit Unit1; interface uses type var implementation
{$R *.dfm}
//新加的鼠标滚轮处理程序 procedure TForm1.OnMouseWheel(var Msg :TMsg;var Handled:Boolean);
//在Form的OnCreate事件里加入以下截获鼠标滚动事件到自己加的处理程序 end. |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论