Hi,
I notify that on windows scrollbars are scrolling very slow (mouse wheel or arrows on scrollbars). Nothing matters if I have TScrollBar.Increment = 0 or 300, speed is always this same. On GTK scrollbars works better. Tested with TScrollBox and TIPHTMLPanel (stable Lazarus 0.9.30). Any idea how tweak this?
Regards.
Just I had same problem with TIpHtmlPanel.
I am changing LHelp for Tabbed-View and some other things.
Google showed me this topic so i had solve it self.
Now it scrolls good, just add in TIpHtmlPanel this lines:
In
\lazarus\components\turbopower_ipro\iphtml.pasTIpHtmlInternalPanel = class(
...
protected
//you can add at line 3123:
function DoMouseWheel(Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint): Boolean; override; //sunyd
...
end;
//you can add at line 17690
function TIpHtmlInternalPanel.DoMouseWheel(Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint): Boolean;
begin
Result:=inherited DoMouseWheel(Shift, WheelDelta, MousePos);
if WheelDelta < 0 then Perform(WM_VSCROLL, MAKELONG(SB_PAGEDOWN, 0), 0)
else Perform(WM_VSCROLL, MAKELONG(SB_PAGEUP, 0), 0);
end;
You don't need recompile Lazarus. Just compile turbopoweripro.lpk from same folder again and all new compiled programms will be use this modification.
There is in TIpHtmlInternalPanel class 2 other MousWheelfunctions:
-DoOnMouseWheel
-MouseWheelHandler
But they don't called. I check them with debugger.
You will be happy with my solution

Edit:
Use this Code if you don't want pagescroll. This is like firefox many lines scroll.
function TIpHtmlInternalPanel.DoMouseWheel(Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint): Boolean; //sunyd
var I : Integer;
begin
Result:=inherited DoMouseWheel(Shift, WheelDelta, MousePos);
if WheelDelta < 0 then begin
for I := 1 to 10 do Perform(WM_VSCROLL, MAKELONG(SB_LINEDOWN, 0), 0);
end
else if WheelDelta > 0 then begin
for I := 1 to 10 do Perform(WM_VSCROLL, MAKELONG(SB_LINEUP, 0), 0);
end;
end;