TscrollBox组件默认不响应鼠标的滚轮事件,如果要使它响应就要在它的OnMouseWheel事件中写入以下代码:
if WheelDelta < 0 then
SendMessage(scrollBox1.Handle,WM_VSCROLL, SB_LINEDOWN, 0) //向下滚
else
SendMessage(scrollBox1.Handle,WM_VSCROLL, SB_LINEUP, 0); //向上滚
可是写了以上后还是有个问题,如果scrollbox1中没有输入焦点,这个OnMouseWheel事件是不会触发,怎么办呢。我在它的OnMouseMove事件中加入TScrollBox(Sender).SetFoucs;如此之后,如果鼠标在scrollBox1中移动过了,就给它设置输入焦点,这样就能响应OnMouseWhell事件了。