Button clicks don't execute when application is not focused

Tags: #<Tag:0x00007f2024de9630>

Hi everyone,

We have a Clarion 10 MDI app running on various iterations of Windows 10, for the sake of consistency let’s say it’s 10.0.18362. At some point, either with a Clarion update or Windows update, our application stopped responding to the clicking of any button when a different application has focus. You see the button “indent” as normal, but whatever logic/procedure never executes. Once you do that, and the application has focus, clicking that button or any other button immediately works. This is reproducible 100% of the time. Has anyone else run into this issue?

Please let me know if there’s any additional details I can provide that may be helpful.

Thanks, and happy new year.

One piece of information that would probably be helpful: We’re using v10.0.12278 of Clarion 10.

Hi Kyle,

what you mean with “stopped responding”? Is it not the case that it get focus on the first click?
And then reacts normally when the button is pressed? I would say that this is normal behavior.

PS. is Remote Desktop in use?



Thanks for the response. I did a little more research on this from a general Windows perspective, and learned that it’s a widely discussed/debated topic with Microsoft Office functionality usually being at the center of it.

It does sound like there is potentially a way to use Win32 calls to tell Windows to not swallow the initial click that focuses the application. It’s very clear that this is language/application specific. If you use Firefox for example, and click the refresh button while the app is not focused, it will respond to the click. If you hit New Email in Outlook while the application isn’t focused, it will do nothing, but Outlook will now be focused. However, if you click a different email in the list than the one currently selected in Outlook while Outlook is not focused, it will select that email, so once again, inconsistent even to the point when it comes to different control sets in the same application.

Lastly, RDP is not in use in this scenario.