在窗口上添加ApplicationEvents控件,在OnMessage事件中,作如下处理:
void __fastcall TFrame4::ApplicationEvents1Message(tagMSG &Msg,
bool &Handled)
{
// 当在 DBGrid1 上发生鼠标滚轮事件时
if ( DBGrid1->Focused() && Msg.message == WM_MOUSEWHEEL )
{
TPoint MousePoint;
if ((short)HIWORD(Msg.wParam) > 0 ) // 滚轮上滚
SendMessage(DBGrid1->Handle, WM_KEYDOWN, VK_UP, 0); // 向DBGrid1发送 VK_UP按键消息
else
{
// 下滚
SendMessage(DBGrid1->Handle, WM_KEYDOWN, VK_DOWN, 0);
}
Handled = true; // 消息已经处理完毕
}
}