PDFPatcher icon indicating copy to clipboard operation
PDFPatcher copied to clipboard

当Windows文字缩放级别(Scale)非100%时的界面显示问题

Open calcitem opened this issue 3 years ago • 9 comments

问题概述

当Windows文字缩放级别(Scale)非100%时,界面显示异常。缩放级别越大异常越明显。

在 Windows 中右键点击桌面,选择 “显示设置”,在 "缩放和布局" 中将 "更改文本、应用等项目的大小" 中将 100% 修改为更大的值,然后再启动程序,可以复现问题。

缩放级别非 100% 时,可能有部分分辨率下是正常的,比如当缩放级别为 150% 时以下2个分辨率正常:

800x600
1280x720

预期行为

没有文字覆盖,文字、按钮均能完整显示。

影响分析

在高分辨率的显示器上,往往会将缩放级别调大,甚至 Windows 会根据分辨率的大小推荐一个比 100% 更大的缩放值,否则 Windows 界面的文字显示过小。

年纪大的用户更喜欢调大文字缩放级别。之所以不是调分辨率,是因为调小分辨率会导致无论图片还是文字全部显示模糊,所以常规方式是调整文字缩放级别。

问题列表

以下为缩放级别为 125% 时的显示情况。

长按钮文本显示不全

下图左下角的 "导出信息文件" 的按钮显示为 "导出信息文",末尾少一个字。

image

下拉框中文本显示不全

下图中的文字排版方向右边的下拉框,预期显示为“自动检测”,实际显示为“动检”,左侧和右侧文字显示不全。

另外,"识别图像文本" 按钮文本显示不全,写入PDF文档 左侧的图标显示靠下,可能是因为和按钮长度不足有关。(和上面的“长按钮文本显示不全”的问题可能同源)

image

文字叠加到右侧下拉框上或被右侧文字覆盖

下图中存在多处文字或控件被覆盖的情况。比如灰度、垂直旋转,等。

image

工具栏中的下拉三角距离左边的按钮过远

批量修改文档中工具栏的 “删除文件” 按钮右边出现很长的空白,才到 “刷新文档属性” 按钮的下拉小三角 。 这段空白几乎等于 “刷新文档属性” 按钮的总长度。 最大化窗口不能解决。 预期为,“刷新文档属性” 按钮直接显示在工具栏上,即便不显示,小三角也不应该距离如此远。 某些界面是显示全的,如 "重命名文件" 界面的 “刷新文档属性” 按钮能显示在工具栏上。

image

表格中的标题很多显示不全

表格中的标题很多显示不全,末尾显示为 ...,需要一个个手动拉长。

image

预期显示效果:

image

再举2例:

image

image

calcitem avatar Feb 01 '22 02:02 calcitem

Lead 大大新年好~ 目前问题已汇总完成。 如需近一步协助,可以告之哈。

calcitem avatar Feb 01 '22 03:02 calcitem

新年好。 实在太奇怪了。 我都没有安装 Windows 11,目前解决不了这问题。

wmjordan avatar Feb 01 '22 03:02 wmjordan

刚在虚拟机中安装了 Windows 10 1909 (build 18363) 中文版,暂未安装 Office,下载最新测试版运行,问题依然存在,排除了 Win 11 和英文的影响,原贴已更新。

不知 Leader 大大的主要环境是啥,我这边可以在虚拟机中安装这些环境验证一下。

calcitem avatar Feb 01 '22 03:02 calcitem

我机器上的是Windows 10 20H2。

image image

wmjordan avatar Feb 01 '22 03:02 wmjordan

定位原因了,还是和 Windows 的文字缩放级别有关系,之前之所以误以为无关,是因为在调整缩放级别到 100% 后没有重启程序,如重启则可以看到显示正常。

在高分辨率的显示器上,往往会将缩放级别调大,甚至 Windows 会根据分辨率的大小推荐一个比 100% 更大的缩放值,否则 Windows 界面的文字显示过小。年纪大的用户更喜欢调大缩放级别。之所以不是调分辨率,是因为调小分辨率会导致显示模糊,所以常规方式是调整文字缩放级别。

主贴已更新。

要解决此问题,我先看看 C# 能否做到 Scale 自适应。

目前查阅的资料列表: https://docs.microsoft.com/en-us/dotnet/desktop/winforms/forms/autoscale?view=netdesktop-6.0 https://stackoverflow.com/questions/13842931/how-can-i-make-label-text-scale-able-in-winforms-application http://csharphelper.com/blog/2015/04/size-a-font-to-fit-a-label-in-c/ https://www.codeproject.com/Questions/643604/Adjust-font-size-to-fit-user-control

calcitem avatar Feb 01 '22 04:02 calcitem

image

我机器上的缩放比例如上

wmjordan avatar Feb 01 '22 05:02 wmjordan

看起来确实不是所有的分辨率都异常。

当缩放级别为 150% 时,我这边验证的结果是,以下2个分辨率正常:

800x600 1280x720

其他都异常。

(我的显示器分辨率最高可以配置到 3840x2400)

当缩放级别为 100%,估计无论分辨率如何设置都是正常的 (未验证)。

主贴已更新。

calcitem avatar Feb 01 '22 09:02 calcitem

WinForms 的程序,在调整屏幕分辨率之后,一般都要重新启动才能正常显示的。

wmjordan avatar Apr 15 '22 03:04 wmjordan

表格中的标题很多显示不全,末尾显示为 ...,需要一个个手动拉长。

我最近更新了程序,针对这个问题做了调整。请看看最新的测试版是否会好些。

wmjordan avatar May 11 '22 02:05 wmjordan

已经优化该问题,如还有异常显示,请留言

wmjordan avatar Aug 30 '23 03:08 wmjordan

好的,谢谢!

calcitem avatar Aug 30 '23 04:08 calcitem