C ++ Builder — компонент прокрутки в C ++ builder, реагирующий на колесо мыши

Я искал вариант, чтобы колесо мыши работало с компонентом прокрутки, так что я получил это

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

Решение

TScrollBox в C ++ Builder XE2 изначально поддерживает вертикальную прокрутку с помощью колесика мыши. Вам не нужно делать ничего лишнего, чтобы включить это поведение. Я только что проверил, все отлично работает.

1

Другие решения

Я использую C ++ Builder XE2, и он не поддерживает собственную прокрутку TScrollBox, поэтому я использую ваш подход, но только событие OnMouseWheel, прокрутка вниз, если WheelDelta ниже 0, и прокрутка вверх, если она выше 0.

Что касается скорости прокрутки, вы не можете просто добавить / вычесть более высокую константу в переменную Position? Как в:

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

По вопросам рекламы [email protected]