[Lazarus] TShiftState "lock" states in mousewheel events

Flávio Etrusco flavio.etrusco at gmail.com
Mon Oct 3 16:27:26 CEST 2011


On Mon, Oct 3, 2011 at 4:20 AM, Alexander Klenin <klenin at gmail.com> wrote:
> The TShiftState enum in LCL includes ssNum, ssCaps and ssScroll elements,
> which should indicate the state of NumLock, CapsLock and ScrollLock
> correspondingly.
>
> However under Win32 KeyDown/Up and MoudeUp/Down/Move events do not
> recieve these elements, while MouseWheel events do.

See http://bugs.freepascal.org/view.php?id=20065.
Also there are duplicate functions in Forms and Controls units (apart
form the function which handles the WMWheel in win32), which should be
de-duplicated.
IMO the function should be/stay implemente in Controls and enhanced
(i.e. move the win32 function to Controls).


> This required a workaround at least for TAChart:
> https://github.com/graemeg/lazarus/commit/1b2369b24de952d5ef250f3a4be7607d66d55da7#L0R710
>
> Delphi does not have these elements, and, since they are usually not
> working anyway,
> I suggest to remove them.
>
> --
> Alexander S. Klenin

They are declared in FPC, so I think this is not an easy call.

-Flávio




More information about the Lazarus mailing list