2

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

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 中处理滚动的更好方法吗?

4

2 回答 2

1

TScrollBox在 C++Builder XE2 中,原生支持通过鼠标滚轮进行垂直滚动。您无需执行任何额外操作即可启用该行为。我刚刚测试了它,它工作正常。

于 2013-03-28T17:48:57.860 回答
0

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

关于滚动速度,您不能只在 Position 变量中添加/减去更高的常数吗?像:

Form1->ScrollBox1->VertScrollBar->Position += 3; 
于 2013-05-17T14:58:49.107 回答