我有一个用户表单。在多个不同控件的情况下,我观察到具有相同宽度、高度、字体和字体大小的对象显示不同的字体大小,具体取决于它们放在我的用户窗体上的位置。
。。。。
上面就是一个例子。两个文本框都是26H和48W,左90。这两种字体都有标准大小18的Tahoma字体。它们之间唯一的区别是它们的顶级属性。然而,从视觉上看,上面的文字比下面的文字要宽得多。右边的图片添加了点,以证明这不是一种光学错觉。上面的那个只能在字母和边缘之间放一个点。下面的一个可以在字母和边缘之间放置至少两个点。
有人能解释一下为什么会发生这种事吗?这是怎么回事?或者我怎么才能阻止它的发生?
发布于 2022-05-11 09:22:38
为什么会这样?
正常的windows图形应用程序呈现在96dpi/ppi中。然而,excel的渲染系统为72 dpi /ppi,因此,当您指定26作为高度时,excel将首先将72 dpi转换为96 dpi。
26 x 96 / 72 = 34.6667
这意味着你的控制高度是34.667像素。这将在您的控件的呈现中创建人工制品。
你怎么能阻止它?
确保控件的最终位置及其高度在窗体中有一个最终像素位置为整数。
您可以通过将屏幕dpi乘以再除以excel dpi(72)来做到这一点。
在您的情况下,您可以应用25.5的高度,这将使它正确。
我希望我解决了你的答案!!
发布于 2022-08-16 09:25:38
正如克里希纳·索尼在这条线上所说,你应该使用25.5的高度,因为他提出的所有理由。这相当于使用高度倍数为3的控件。由于25.5的舍入为30,我们可以将3作为顶部、高度和宽度属性的倍数,并避免文本调整大小的问题。
在更改字号时字体大小的奇怪变化1上看到
https://stackoverflow.com/questions/47061431
复制相似问题