View previous topic :: View next topic |
Author |
Message |
Ian Wright
Joined: 02 Apr 2009 Posts: 13 Location: Epsom, UK
|
Posted: Mon Feb 04, 2019 3:48 pm Post subject: Missing mouse pointer Clearwin+ 2nd Display Win10 Build1709 |
|
|
We've recently encountered a display problem with the mouse pointer cross-hair disappearing on our 32bit Clearwin+ based FTN95 application when using: (i) laptops with a second external monitor connected; and (ii) Windows 10 Build 1709 or later. We are asking for some advice please.
The problem arises when the mouse cross hairs disappear within the main Clearwin+ window frame. If we move the mouse outside the Clearwin+ window frame it reappears in the expected position, suggesting a display issue. The problem only affects certain users and the mouse operations still function within the window frame even though the mouse cross-hairs aren't visible. This suggests it's a display issue with the cross-hairs.
Based on user feedback to date, the problem does not affect desktop users and only some laptop users with/without external displays. For most affected users, if they boot-up with the external display as their primary monitor (with the laptop lid closed) and then open the laptop lid, the problem doesn't occur. However, it doesn't fix it for everybody though.
We've prepared a hardware inventory of the various users' laptops, monitors, display connections, display resolutions etc etc but we have not been able to identify any pattern other than the common Windows 10 Build 1709 Fall Creators Update. We don't have any reported problems in users running earlier OS versions.
We are aware that Windows 10 Build 1709 Fall Creators Update introduced enhanced DPI scaling and this appears to the most likely cause of the issue.
We've recently recompiled the code using FTN95 v8.40 but it didn't resolve the issue. Unfortunately, we're unable to reproduce it on our development laptops so we're still struggling to identify the problem and update the code.
Has anybody else come across a similar problem or have any suggestions for debug code to insert please?
Many thanks
Ian |
|
Back to top |
|
|
Ian Wright
Joined: 02 Apr 2009 Posts: 13 Location: Epsom, UK
|
Posted: Thu Mar 12, 2020 10:32 pm Post subject: |
|
|
An update and a request for support please.
We've now identified the specific issue but not clear how to resolve it.
Our Clearwin+ application is using the routine INITIALISE_MOUSE@ and once initialized it generates a small cross-hair on the main display. With certain combinations of primary and secondary displays, the cross hairs disappear.
For example, if the main display is running at significantly higher scaling factor (eg 200%) and we then move the application to the second display with a lower scaling factor (eg 100%) then the mouse cross-hairs are too small to be visible and effectively disappear. However if we change the second display to use a 150% scaling factor then they re-appear. Similarly if we swap the displays over so that the lower scaled display is now the main display, the cross-hairs are visible (and larger).
Is there any way of increasing the thickness of the cross-hairs by 2x or 3x (say) so they remain visible? If so how?
We're currently using a Silverfrost v8.30 beta 32-bit. In the example above, the main display is a 15" laptop with 2580 x 1440 pixels (197 pixels per inch and 200% recommended scaling) and the secondary display is a 24" external monitor with 1920 x 1080 pixels (92 ppi with 100% recommended scaling).
This may be better placed in the Clearwin+ section but it was posted here - mods: does it need to be moved?
Thanks in advance
Ian |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7924 Location: Salford, UK
|
Posted: Fri Mar 13, 2020 8:29 am Post subject: |
|
|
From your description you appear to have an application that was originally developed for Salford Software FTN77 running under the DBOS operating system. This will have been ported to Win32 and may use components from the original ClearWin or the subsequent ClearWin+.
INITIALISE_MOUSE@ is redundant in this context and can be commented out without affecting to outcome.
Larger and/or bolder mouse cursors can be imported into your application and how you would do this will depend on the extent of the port from DBOS to Win32.
If you want to send me your project then I could take a quick look and maybe advise you further. |
|
Back to top |
|
|
LitusSaxonicum
Joined: 23 Aug 2005 Posts: 2388 Location: Yateley, Hants, UK
|
Posted: Sun Mar 15, 2020 11:36 am Post subject: |
|
|
Ian, There are other situations where the cursor disappears and they relate to the colour representation onscreen as well as Microsoft's scaling for different logical dpi settings.
One answer is to use more elaborate cursors. Some can be downloaded from the web for free. I use some that were drawn by Vlastimil Miler ( http://www.rw-designer.com/user/vlasta ). They are from his 'Smooth set'. He also has a cursor editor on his website, so you could do your own.
Many of the more elaborate cursors work at different dpi and colour settings, or your software could interrogate Windows and find the current settings, then choose the cursor(s) to suit.
An allied issue was discussed here: http://forums.silverfrost.com/viewtopic.php?t=3978&highlight=cursor
Eddie |
|
Back to top |
|
|
Ian Wright
Joined: 02 Apr 2009 Posts: 13 Location: Epsom, UK
|
Posted: Tue Mar 17, 2020 10:16 pm Post subject: |
|
|
Paul
Thanks for the advice and the suggestion.
I'm pleased to report that we have now been able to fix it by adding a bespoke cursor to the winio$ routine via the optional '%cu%' parameter. Our bespoke cursor (a simple red cross in a new .cur file created using an online cursor build tool) is now scaled correctly by Windows irrespective of the level of scaling applied between multiple displays.
Eddie: thanks for extra information and the link to a similar case. I'll add a cross-reference to this topic for future reference as it explains at least one reason why it could happen.
Kind regards
Ian |
|
Back to top |
|
|
|