You can catch the scroll message in your application, and determine the action (and the scale) yourself.

Have a look at SynEdit:
procedure WMVScroll(var Msg: {$IFDEF SYN_LAZARUS}TLMScroll{$ELSE}TWMScroll{$ENDIF}); message WM_VSCROLL;


Best Regards
Martin


Bruce Tulloch wrote:
Interesting thread but I may have not asked the right question...

I'm trying to understand the scaling of the mousewheel as it affects the
TScrollbar control specifically. Not for scrolling in SynEdit or case of
scrolling text or similar purposes in a generic desktop application.

Instead I'm looking at using it to scroll other types of data
(waveforms, images etc) on screen using a TScrollBar as the controlling
widget where the scale at which the data moves definitely wants to be
under application (not O/S or desktop preferences) control.

Am I to understand that this is currently outside the scope of LCL? IOW,
is mousewheel scaling O/S defined and the application just has to accept
the resolution of what it's been given on each platform?

TScrollBar defines LargeSize and SmallSize properties to specify how
much to move when the Page Up/Down keys and arrow keys (among other
things) are pressed. What I'm interested in is a similar mechanism to
specify the resolution for mousewheel events instead of having them tied
in some rubbery platform dependent way to the current
TScrollBar.PageSize setting.

Does (or can) such a thing exist?

If not, then the Mac solution (with an application configurability
option) certainly seems to be the best compromise.

Cheers, Bruce.

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to