Discussion:
[Lazarus] Mouse wheel problem
Fabio Luis Girardi via Lazarus
2018-09-18 14:27:15 UTC
Permalink
Hi all!

I'm experiencing a problem with the mouse wheel and combobox control. I
have a big form (4900x1000) on a single monitor. I put this big form on a
Scrollbox to make it scrollable. To make the things easy to user/system
operator, I decided to move the screen using the mouse wheel. This works
fine and makes the navigation on this screen/form easy.

The problem appears when the mouse cursor stops (after mouse wheel) over a
combobox control. Even the combobox over the mouse cursor doesn't have the
focus, the next mouse wheel event doesn't move the screen, but changes the
combobox selection.

All combobox on my application has Style set to csDropDownList. Another
point that I noted, is that mouse wheel change doesn't occur if ItemIndex =
-1.

The same behavior is in GTK2 and QT4. I don't have tried on QT5.

Someone knows how workaround or fix this?

--
The best regards,

Fabio Luis Girardi
PascalSCADA Project
http://sourceforge.net/projects/pascalscada
http://www.pascalscada.com
Vojtěch Čihák via Lazarus
2018-09-18 15:05:02 UTC
Permalink
Hi,
you can use event
 
procedure TForm1.ComboBox1MouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint;
  var Handled: Boolean);
begin
  Handled:=True;
end; 
 
this will not scroll the scrollbox when mouse pointer is over combobox, but ComboBox.ItemIndex will at least not change.
 
V.
 
______________________________________________________________
> Od: "Fabio Luis Girardi via Lazarus" <***@lists.lazarus-ide.org>
> Komu: "Lazarus mailing list" <***@lists.lazarus-ide.org>
> Datum: 18.09.2018 16:27
> Předmět: [Lazarus] Mouse wheel problem
>
Hi all!I'm experiencing a problem with the mouse wheel and combobox control. I have a big form (4900x1000) on a single monitor. I put this big form on a Scrollbox to make it scrollable. To make the things easy to user/system operator, I decided to move the screen using the mouse wheel. This works fine and makes the navigation on this screen/form easy. The problem appears when the mouse cursor stops (after mouse wheel) over a combobox control. Even the combobox over the mouse cursor doesn't have the focus, the next mouse wheel event doesn't move the screen, but changes the combobox selection.All combobox on my application has Style set to csDropDownList. Another point that I noted, is that mouse wheel change doesn't occur if ItemIndex = -1.The same behavior is in GTK2 and QT4. I don't have tried on QT5.Someone knows how workaround or fix this?--
The best regards,

Fabio Luis Girardi
PascalSCADA Project
http://sourceforge.net/projects/pascalscada <http://sourceforge.net/projects/pascalscada>
http://www.pascalscada.com <http://www.pascalscada.com>

----------

--
_______________________________________________
Lazarus mailing list
***@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus <https://lists.lazarus-ide.org/listinfo/lazarus>
Fabio Luis Girardi via Lazarus
2018-09-18 18:37:45 UTC
Permalink
Hi!

Even using this event, if the combobox selection is changed one time
(ItemIndex<>-1), the mouse wheel will change the selection if the mouse
cursor is over the combobox.

I tried to modify the qt widget, but no success. Appears to be an
LCL issue, since QT docs says to change the focus police to QtStrongFocus
to solve this problem (I don't find the fix for GTK2)

The best regards,

Fabio

Em ter, 18 de set de 2018 às 12:05, Vojtěch Čihák <***@atlas.cz>
escreveu:

> Hi,
>
> you can use event
>
>
>
> procedure TForm1.ComboBox1MouseWheel(Sender: TObject; Shift: TShiftState;
> WheelDelta: Integer; MousePos: TPoint;
>
> var Handled: Boolean);
>
> begin
>
> Handled:=True;
>
> end;
>
>
>
> this will not scroll the scrollbox when mouse pointer is over combobox,
> but ComboBox.ItemIndex will at least not change.
>
>
>
> V.
>
>
>
> ______________________________________________________________
> > Od: "Fabio Luis Girardi via Lazarus" <***@lists.lazarus-ide.org>
> > Komu: "Lazarus mailing list" <***@lists.lazarus-ide.org>
> > Datum: 18.09.2018 16:27
> > Předmět: [Lazarus] Mouse wheel problem
> >
> Hi all!
> I'm experiencing a problem with the mouse wheel and combobox control. I
> have a big form (4900x1000) on a single monitor. I put this big form on a
> Scrollbox to make it scrollable. To make the things easy to user/system
> operator, I decided to move the screen using the mouse wheel. This works
> fine and makes the navigation on this screen/form easy.
> The problem appears when the mouse cursor stops (after mouse wheel) over a
> combobox control. Even the combobox over the mouse cursor doesn't have the
> focus, the next mouse wheel event doesn't move the screen, but changes the
> combobox selection.
> All combobox on my application has Style set to csDropDownList. Another
> point that I noted, is that mouse wheel change doesn't occur if ItemIndex =
> -1.
> The same behavior is in GTK2 and QT4. I don't have tried on QT5.
> Someone knows how workaround or fix this?
> --
> The best regards,
>
> Fabio Luis Girardi
> PascalSCADA Project
> http://sourceforge.net/projects/pascalscada
> http://www.pascalscada.com
>
>
> ----------
>
> --
> _______________________________________________
> Lazarus mailing list
> ***@lists.lazarus-ide.org
> https://lists.lazarus-ide.org/listinfo/lazarus
>


--
The best regards,

Fabio Luis Girardi
PascalSCADA Project
http://sourceforge.net/projects/pascalscada
http://www.pascalscada.com
Vojtěch Čihák via Lazarus
2018-09-19 11:36:00 UTC
Permalink
Hi, I tested with Lazarus 2.1.0 r59059M FPC 3.3.1 x86_64-linux-qt, Qt 4.8.7 & libQt4pas 5.2.5, Qt 5.11.1 & libQt5pas 2.6.r57057-1, GTk 2.24.32
 
V.
______________________________________________________________
> Od: "Fabio Luis Girardi" <***@gmail.com>
> Komu: "Vojtěch Čihák" <***@atlas.cz>
> Datum: 19.09.2018 12:49
> Předmět: Re: [Lazarus] Mouse wheel problem
>
What's your version of Lazarus and OS (including QT versions)?
Em Ter, 18 de set de 2018 17:03, Vojtěch Čihák <***@atlas.cz <***@atlas.cz>> escreveu:Here the "Handled" trick works well for Qt4 and Qt5, no matter if the ItemIndex is -1 or >=0 or if the Combo is focused or not. Problem remains with GTk2 only. 
 
V.
______________________________________________________________
> Od: "Fabio Luis Girardi" <***@gmail.com <***@gmail.com>>
> Komu: "Vojtěch Čihák" <***@atlas.cz <***@atlas.cz>>
> Datum: 18.09.2018 20:37
> Předmět: Re: [Lazarus] Mouse wheel problem
>
Hi!Even using this event, if the combobox selection is changed one time (ItemIndex<>-1), the mouse wheel will change the selection if the mouse cursor is over the combobox.I tried to modify the qt widget, but no success. Appears to be an LCL issue, since QT docs says to change the focus police to QtStrongFocus to solve this problem (I don't find the fix for GTK2) The best regards,Fabio

PascalSCADA Project
http://sourceforge.net/projects/pascalscada <http://sourceforge.net/projects/pascalscada>
http://www.pascalscada.com <http://www.pascalscada.com>

----------

--
_______________________________________________
Lazarus mailing list
***@lists.lazarus-ide.org <***@lists.lazarus-ide.org>
https://lists.lazarus-ide.org/listinfo/lazarus <https://lists.lazarus-ide.org/listinfo/lazarus>
--
The best regards,

Fabio Luis Girardi
PascalSCADA Project
http://sourceforge.net/projects/pascalscada <http://sourceforge.net/projects/pascalscada>
http://www.pascalscada.com <http://www.pascalscada.com>
Fabio Luis Girardi via Lazarus
2018-09-27 09:53:08 UTC
Permalink
Hi!

Appears to be fixed in Lazarus 2.0 RC1.

Em qua, 19 de set de 2018 às 08:36, Vojtěch Čihák <***@atlas.cz>
escreveu:

> Hi, I tested with Lazarus 2.1.0 r59059M FPC 3.3.1 x86_64-linux-qt, Qt
> 4.8.7 & libQt4pas 5.2.5, Qt 5.11.1 & libQt5pas 2.6.r57057-1, GTk 2.24.32
>
>
>
> V.
>
> ______________________________________________________________
> > Od: "Fabio Luis Girardi" <***@gmail.com>
> > Komu: "Vojtěch Čihák" <***@atlas.cz>
> > Datum: 19.09.2018 12:49
> > Předmět: Re: [Lazarus] Mouse wheel problem
> >
> What's your version of Lazarus and OS (including QT versions)?
>
> Em Ter, 18 de set de 2018 17:03, Vojtěch Čihák <***@atlas.cz>
> escreveu:
>
>> Here the "Handled" trick works well for Qt4 and Qt5, no matter if the
>> ItemIndex is -1 or >=0 or if the Combo is focused or not. Problem remains
>> with GTk2 only.
>>
>>
>>
>> V.
>>
>> ______________________________________________________________
>> > Od: "Fabio Luis Girardi" <***@gmail.com>
>> > Komu: "Vojtěch Čihák" <***@atlas.cz>
>> > Datum: 18.09.2018 20:37
>> > Předmět: Re: [Lazarus] Mouse wheel problem
>> >
>> Hi!
>> Even using this event, if the combobox selection is changed one time
>> (ItemIndex<>-1), the mouse wheel will change the selection if the mouse
>> cursor is over the combobox.
>> I tried to modify the qt widget, but no success. Appears to be an
>> LCL issue, since QT docs says to change the focus police to QtStrongFocus
>> to solve this problem (I don't find the fix for GTK2)
>> The best regards,
>> Fabio
>>
>>>
>>>
>>> PascalSCADA Project
>>> http://sourceforge.net/projects/pascalscada
>>> http://www.pascalscada.com
>>>
>>>
>>> ----------
>>>
>>> --
>>> _______________________________________________
>>> Lazarus mailing list
>>> ***@lists.lazarus-ide.org
>>> https://lists.lazarus-ide.org/listinfo/lazarus
>>
>>
>> --
>> The best regards,
>>
>> Fabio Luis Girardi
>> PascalSCADA Project
>> http://sourceforge.net/projects/pascalscada
>> http://www.pascalscada.com
>>
>

--
The best regards,

Fabio Luis Girardi
PascalSCADA Project
http://sourceforge.net/projects/pascalscada
http://www.pascalscada.com
Continue reading on narkive:
Loading...