我有一个用户表单。在多个不同控件的多种情况下,我观察到具有相同宽度、高度、字体和字体大小的对象显示不同的字体大小,具体取决于它们在用户窗体上的放置位置。
. . . .
上面是一个例子。这两个文本框的宽度均为 26H 和 48W,Left 为 90。两者的字体均为 Tahoma Regular 大小 18。它们之间唯一的区别是其 Top 属性。但从视觉上看,上面的文字比下面的文字宽得多。右图添加了点以证明这不是视错觉。上面的只能在字母和边缘之间容纳一个点。下一个可以在字母和边缘之间容纳至少两个点。
谁能解释为什么会发生这种情况?怎么了?或者我怎样才能阻止它发生?
为什么会发生这样的事?
普通 Windows 图形应用程序以 96dpi/ppi 呈现。
但是,Excel的渲染系统是72dpi/ppi,因此,当您指定26作为高度时,Excel会首先将72转换为96 dpi。
26 x 96 / 72 = 34.6667
这意味着您的控件高度为 34.667 像素。
这将在控件的渲染中创建伪影。
你怎么能阻止它呢?
确保控件的最终位置及其高度在表单中的最终像素位置为整数。
您可以通过乘以屏幕 dpi 再除以 Excel dpi(72) 来完成此操作
在您的情况下,您可以应用 25.5 的高度,这将正确渲染它。
我希望我能解决你的答案!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)