我的VB6应用程序在某些最终用户PC上存在布局问题,但到目前为止,我们无法确定导致此问题的原因。
左侧的文字是单选按钮的标题。右上角的文字是标签。
我熟悉Windows控制面板中可能影响文本大小的两个不同设置,最初我们怀疑这是原因。在Windows 10中,它们是:
Control Panel >
Appearance and Personalization >
Display >
(1) "Use these display settings" > "Customize your display"
or
(2) "Set a custom scaling level"
(术语在早期的Windows版本中有所不同,但我认为功能相同?)
但是,在使用我们的应用测试这些设置时, 。
还有什么可能导致图片中显示的文字布局问题?
答案 0 :(得分:2)
这似乎是由a Windows bug引起的。
描述&修复源网站中提到的如下:
如果您在安装时有高分辨率屏幕,Win7将默认安装更大的字体集(125%)。如果您选择返回标准字体大小(100%),Windows将保留一些大字体,即使其他所有字体都已调整为标准字体,导致使用这些字体的程序中断,因为文本并不总是适合GUI。
通过编辑Windows注册表,您可以获得原始的预期字体:
打开开始菜单,输入regedit,然后按Enter键。
找到密钥
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
找到值
MS Sans Serif 8,10,12,14,18,24
从
SSERIFF.FON
更改为SSERIFE.FON
查找
MS Serif 8,10,12,14,18,24
从
SERIFF.FON
更改为SERIFE.FON
最后找到
Courier 10,12,15
从
COURF.FON
更改为COURE.FON
重启系统,以使更改生效!
确切的字体名称可能因区域设置而异。
我能够在Windows 10上创建问题场景,并且使用我们的VB6应用程序重现了这个问题。我认为这证实了这一点。
Microsoft blog post似乎是此信息的权威原始来源。