C ++ builder scrollbox组件响应鼠标滚轮

时间:2013-03-25 01:47:32

标签: c++ c++builder c++builder-xe2 tscrollbox

我一直在寻找一个让鼠标滚轮与滚动条组件一起工作的选项,到目前为止我得到了这个

void __fastcall TForm1::ScrollBox1MouseWheelDown(TObject *Sender, TShiftState Shift,
          TPoint &MousePos, bool &Handled)
{
    Form1->ScrollBox1->VertScrollBar->Position++;
}

void __fastcall TForm1::ScrollBox1MouseWheelUp(TObject *Sender, TShiftState Shift,
          TPoint &MousePos, bool &Handled)
{
    Form1->ScrollBox1->VertScrollBar->Position--;
}

到目前为止它的确有效,但滚动速度非常慢。有没有办法让它滚动得更快,或者更好的方法是在c ++ builder中处理滚动?

2 个答案:

答案 0 :(得分:1)

C ++ Builder中的

TScrollBox XE2本身支持通过鼠标滚轮进行垂直滚动。您无需执行任何额外操作即可启用该行为。我刚试过它,它工作正常。

答案 1 :(得分:0)

我使用的是C ++ Builder XE2,它不支持本地滚动TScrollBox,所以我使用你的方法,但只是OnMouseWheel事件,如果WheelDelta低于0则向下滚动,如果高于0则向上滚动0

关于滚动速度,您不能只为位置变量添加/减去更高的常量吗?喜欢在:

Form1->ScrollBox1->VertScrollBar->Position += 3;