[Lazarus] Mouse wheel problem

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[Lazarus] Mouse wheel problem

Free Pascal - Lazarus mailing list
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
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Mouse wheel problem

vojtech.cihak

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" <[hidden email]>
> Komu: "Lazarus mailing list" <[hidden email]>
> 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
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus

--
_______________________________________________
Lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Mouse wheel problem

Free Pascal - Lazarus mailing list
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 <[hidden email]> 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" <[hidden email]>
> Komu: "Lazarus mailing list" <[hidden email]>
> 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
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus


--
The best regards,

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

--
_______________________________________________
Lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Mouse wheel problem

vojtech.cihak
In reply to this post by vojtech.cihak

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" <[hidden email]>
> Komu: "Vojtěch Čihák" <[hidden email]>
> 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 <[hidden email]> 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" <[hidden email]>
> Komu: "Vojtěch Čihák" <[hidden email]>
> 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


----------

--
_______________________________________________
Lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus

--
The best regards,

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

--
_______________________________________________
Lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Mouse wheel problem

Free Pascal - Lazarus mailing list
Hi!

Appears to be fixed in Lazarus 2.0 RC1.

Em qua, 19 de set de 2018 às 08:36, Vojtěch Čihák <[hidden email]> 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" <[hidden email]>
> Komu: "Vojtěch Čihák" <[hidden email]>
> 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 <[hidden email]> 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" <[hidden email]>
> Komu: "Vojtěch Čihák" <[hidden email]>
> 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


----------

--
_______________________________________________
Lazarus mailing list
[hidden email]
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

--
_______________________________________________
Lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus