Cześć,
Mam w Scrollbox kilka komponentów, wszystko w nim ustawiłem i działa tak jak chcę. Wszystko oprócz jednego. Otóż gdy przesuwam myszką pasek scrollbara, pozycja komponentów w scrollboxie uaktualnia się dopiero po puszczeniu przycisku myszki. Czy jest jakiś sposób by komponenty przesuwały się podczas przesuwania tego paska?
0
0
Bo tak już jest chyba skonstruowany ScrollBox. Jeżeli chcesz płynnie przesuwać komponentu to
raczej musisz obslużyć ruchy kółkiem myszki. A można to zrobić na przykład tak, jak poniżej.
//...
const
Ct_ScrBox_WheelDelta = 60;
//...
procedure TMainForm.ScrBox_AMouseWheelDown(Sender : TObject;
Shift : TShiftState; MousePos : TPoint; var Handled : Boolean);
begin
with Sender as TScrollBox do
begin
VertScrollBar.Position := VertScrollBar.Position + Ct_ScrBox_WheelDelta div 5;
end;
end;
procedure TMainForm.ScrBox_AMouseWheelUp(Sender : TObject;
Shift : TShiftState; MousePos : TPoint; var Handled : Boolean);
begin
with Sender as TScrollBox do
begin
VertScrollBar.Position := VertScrollBar.Position - Ct_ScrBox_WheelDelta div 5;
end;
end;
0
a nie łatwiej po prostu ustawić VertScrollBar Tracking na TRUE i po sprawie
0
A tego nie znałem, dzięki za info puchi przyda mi się też w jednym programie.
Po prostu wcześniej nie przyjrzałem się wszystkim tym wlasnością ScrollBoxa.
0
Dzięki. Tego mi właśnie było trzeba. Nie sądziłem, że odpowiedź okaże sie tak prosta