delphi中怎么在DBgrid中实现鼠标滚轮效果

 我来答
windblast
2017-05-10 · 知道合伙人软件行家
windblast
知道合伙人软件行家
采纳数:5633 获赞数:13622
毕业于空军第一航空学院电子专业,1991年开始接触电脑,从事多年计算机编程,具有较丰富的经验。

向TA提问 私信TA
展开全部

在新版本 delphi 中,DBGrid 组件自带有响应鼠标滚动事件:

如果当前 DBGrid 组件没有鼠标滚动消息事件,可以通过 Application 进行自定义消息实现,以下是示例代码:

procedure ApplicationEvents1Message(var Msg: tagMSG;var Handled: Boolean);
procedure  TForm1.ApplicationEvents1Message(var  Msg:  tagMSG;var  Handled:  Boolean);
begin
 if  (DBGrid2.Focused)  And  (Msg.message  =  WM_MOUSEWHEEL)  then
       begin
           if  Msg.wParam  >  0  then
               SendMessage(DBGrid2.Handle,  WM_KEYDOWN,  VK_UP,  0)
           else
               SendMessage(DBGrid2.Handle,  WM_KEYDOWN,  VK_DOWN,  0);
           Handled  :=  True;
       end;
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnMessage:=ApplicationEvents1Message; // 截获鼠标滚动事件
end;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式