Mouse-wheel scrolling and the Inspector on Windows causing property changes

Finally found out why some subtle changes are happening when I am editing controls. This has been happening to me for several years but I have never understood why until now.

Turns out that it is very easy to inadvertently change the values of popup-menu-based properties when scrolling the Inspector panel if the pointer happens to stop on top of a popup. I am using the Logitech MX Anywhere and the infinite scroll-wheel. Since the Inspector is slow as molasses on Windows a quick flick of the scroll wheel on the mouse and then holding the wheel will send additional mouse wheel events (possible to see in other applications when scrolling long lists and documents). However in Xojo IDE, the extra mouse wheel events go to the popup menu, which is OK since this is standard Windows behaviour.

Combining this type of scroll with popup menus is not happening in too many other places but the one is Office 2016 settings where the popup options are not scrolling when the pointer is over them, instead the whole panel is scrolled.

<https://xojo.com/issue/47690>

I cant reproduce on any of my VM’s OR my real Windows machine
However I can see that certainly appears to be whats going on in your video
Are you clicking those controls ?
Isn’t there a Windows setting for giving the focus to the control that the mouse is over (focus follows mouse I believe) ?
Do you have that turned on ?

(I have also updated the FB case)
No, I’m not clicking. Just placing the pointer over the popup and scrolling makes it select other values. Nothing else in the Xojo IDE gets the focus (textboxes etc) just the popup menus.

This morning I did more testing using a Win 10 VM using VirtualBox without any Logitech drivers, just stock install and then downloaded Xojo 2017r1. Same issue as on my physical system. I will install xojo on my desktop workstation with a mouse of another brand (corded) just to roll logitech driver and application out of this.

Just tried my admin assistant’s new computer (one week old Dell Precision) running Windows 10 1607 update, corded mouse and no much of other software than accounting software installed.
Same issue in Xojo 2017r1, just placing the pointer over the Inspector popup and rotating the wheel.

Another data-point: my newly system-restored Surface Pro shows the same problem. Not a single setting changed.

I see the problem, this is due to a feature of windows 10 called “scroll inactive windows when I hover over them”.

It is on by default and can be turned off in Settings->Devices->Mouse & touchpad

The only way I can think of getting around this is to trap the mouse wheel event in the combo box and pass it up to the window.

Thanks! Interesting setting since it doesn’t allow me to continue scrolling once I have put focus on a popup menu in the Inspector panel. Instead I need to drag the scrollbar or click in a textfield, but OK… gets the job done.

Which popup menu are you referring to?

All the popup menu/comboboxes in the Inspector.

Thats odd, none of mine are sticky like you’re explaining and I dont see that sticky effect in the first video you posted on the feedback. Is it different again to the video? Does the same thing happen on all your W10 machines?

BEFORE trying to scroll the second time press TAB
If focus moves then its definitely related to something like “Focus follows mouse” and the act of scrolling and stopping then moves focus to whatever the mouse is now over

I feel the need to clarify, before the option of “turning off this windows feature” becomes the recommended “fix”.

I see the pane stick when the pane moves and a combobox moves under the mouse as shown in the original video, however moving the mouse off the combobox and scrolling again causes the pane to move. That is a standard feature in windows 10 with the option enabled (standard) that I mentioned above.

Visual Studio get around this problem by using a listbox where you have to select the entry before it enables the dropdown at which point the scrollwheel moves the combo no matter where your mouse is in the pane.

Here’s a video to clarify the issue:

As this will be a problem for all future windows apps on Windows 10, an option might be to add a windows only feature on a combobox of ignoring mousewheels, as this example of Beyond Compare 4 does similar:

Or I guess you could let everyone on windows hook and bubble the mousewheel event themselves.

I’ve added a project to the feedback case showing how to fix this problem.

You can find more information here:

https://forum.xojo.com/39983-scrollwheel-changing-combobox-when-scrolling-in-a-window