Delphi里的DBGrid鼠标滚轮事件

Delphi 里的DBGrid 鼠标滚轮事件是哪个哇?求解哇!!!!
2025-03-30 20:56:50
推荐回答(3个)
回答1:

在窗体添加一个TApplicationEvents组件(在Additional中),然后在它的OnMessage事件中添加如下代码:


procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;  var Handled: Boolean);
begin  // 当在 DBGrid1 上发生鼠标滚轮事件时  
    if (DBGrid1.Focused) And (Msg.message = WM_MOUSEWHEEL) then  
    begin    
        if Msg.wParam > 0   then    // 滚轮上滚      
            SendMessage(DBGrid1.Handle, WM_KEYDOWN, VK_UP, 0)   // 向DBGrid1发送 VK_UP按键消息,其他你要处理的事件也再次处理
       else                        // 下滚      
           SendMessage(DBGrid1.Handle, WM_KEYDOWN, VK_DOWN, 0);    
       Handled := True;   // 消息已经处理完毕  
    end;
end;

回答2:

不太记得了,是来帮顶的

回答3:

不知道你用的是哪个版本的DELPHI。DELPHI2010应该是onMouseWheel事件啊,D7貌似没有这个事件。