<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    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.<br>
    <br>
    By the way, the proper test is   <small><font face="Liberation
        Mono"><b>if</b> ssMiddle <b>in</b> Shift <b>then</b> . . .</font></small>
    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. <br>
    What is your view? Is this a bug that ought to be fixed, or is it
    not? My vote is:<br>
    "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.<br>
    Wolf<br>
    <br>
    <div class="moz-cite-prefix">On 28/07/16 00:56, Ondrej Pokorny
      wrote:<br>
    </div>
    <blockquote
      cite="mid:510f41f8-9c3f-221e-b1f9-7d9e80799ec7@kluug.net"
      type="cite">
      <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
      <div class="moz-cite-prefix">On 27.07.2016 14:36, Vojtěch Čihák
        wrote:<br>
      </div>
      <blockquote cite="mid:20160727143611.67E34ADA@atlas.cz"
        type="cite">
        <p style="padding:0 0 0 0; margin:0 0 0 0;">Hi,</p>
        <p style="padding:0 0 0 0; margin:0 0 0 0;"> </p>
        <p style="padding:0 0 0 0; margin:0 0 0 0;">IMO it is correct.
          OnMouseWheelxxx are events for rolling the mouse wheel,
          therefore the ssMiddle cannot be in Shift.</p>
        <p style="padding:0 0 0 0; margin:0 0 0 0;">If you need to
          detect if Middle button is pressed, use OnMouseDown/OnMouseUp
          and test "if Mouse=mbMiddle then ..."</p>
        <p style="padding:0 0 0 0; margin:0 0 0 0;">Also, ssMiddle
          appears in Shift in <span style="font-size: 10pt;">OnMouseDown/OnMouseUp.</span></p>
      </blockquote>
      <br>
      You are not correct. You can scroll the mouse wheel if it is
      released or pressed. So for me a valid feature request for the
      distinction. The OnMouseMove event gets valid Shift states as
      well.<br>
      <br>
      Btw. please use a mail client that supports "In-Reply-To" and
      "References" headers. Your answers are registered always as a new
      thread. See the recent discussion with Denis Kozlov on fpc-devel
      list, thread(s) "NowUTC in FPC".<br>
      <br>
      Ondrej<br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
    </blockquote>
    <br>
  </body>
</html>