[Lazarus] Shift returns empty set in MouseWheel events

Ondrej Pokorny lazarus at kluug.net
Tue Aug 2 09:58:20 CEST 2016

On 28.07.2016 0:13, Wolf wrote:
> I enclose a little program where you can see the effects of 
> pressing/rolling mouse keys. Vojtěch Čihák is correct in saying that 
> OnMouseDown/Up can be used to distinguish whether the mousewheel is 
> rolled when pressed or not. But then, why is Shift part of the 
> procedure's parameters if it has no place in the OnMouseWheel events? 
> So there is a workaround.
> By the way, the proper test is *if* ssMiddle *in* Shift *then* . . . 
> since Shift is a set of values, not an enumerated value, meaning it 
> can contain more than one value. Press a mouse key and <shift> or 
> <alt> to see what I mean.
> What is your view? Is this a bug that ought to be fixed, or is it not? 
> My vote is:
> "If Shift in OnMouseWheelxxx events is supposed to return an empty 
> set, remove the parameter from the handling procedures. If you say 
> "keep it" then ensure the parameter does carry a value.

It is a bug. Delphi carries correct values in the Shift paramter in 
OnMouseWheelXXX events.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20160802/bf2e2d9c/attachment.html>

More information about the Lazarus mailing list