Private Sub Form_Click()
Print Label1.FontSize
End SubPrivate Sub Form_Load()
Label1.AutoSize = True
Label1.FontSize = 20
End Sub为什么打印出来字体的大小是20.25?
Print Label1.FontSize
End SubPrivate Sub Form_Load()
Label1.AutoSize = True
Label1.FontSize = 20
End Sub为什么打印出来字体的大小是20.25?
解决方案 »
- 程序太平洋又重新开张了哦。
- 小弟做了一个简单的停车场收费系统,现在里面需要一个数据库统计功能,哪位大大能给做一下??
- 关于mshflexgrid 的问题
- 高分:求CSDN离线浏览器的源码,请指教
- 将视频采集卡上的数据采集到form上
- 请教如何更改button的背景色(button没有backcolor属性)
- Excel Vba 活动单元格不动的问题
- vb中如何用select加where从句检索出符合这样条件的数据??在线等待!
- 求教:VB程序ActiveX问题?急。。。
- :vb中一个工程怎样去访问另外一个工程中表单的控件名称(如果两个工程放在一个组里面),意义重大
- 怎么测试到键盘的多媒体键(如上网键、我的电脑、音量+、音量-,睡眠键、电源键等等
- VB数据表中插入数据错误:Data type mismatch
所以设定的 FontSize 要经过 磅->像素(取整)->磅 的转换,可能产生小数。只有点阵字体的标准单位才是像素,不信你换 Terminal 字体试试。如果谁还以为字体大小就是像素,那就非常凹凸了
——你生活在 DOS+点阵字体 的时代。
Label1.FontSize = 20 这个20的单位是磅?然后转换为像素,当我打印的时候它又由像素转换为磅?
是这个意思吗?如何验证或为什么要经过这一转换?
1英寸 = 72磅
默认屏幕 DPI 为 96,即 1英寸 = 96 像素。其次:
FontSize 是一个兼容属性,其实是 Font.Size,单位由字体决定。最后:
无论字体设计时用什么单位,作为屏幕字体,必须转换为像素单位。所以:
[Property Let] Font.Size = 20
20磅 = 20/72*96 ≈ 27像素
所以实际设备显示的字体大小为 27像素。[Property Get] Font.Size = 27/96*72 = 20.25磅
这就是你最后得到的字体大小。