最近敲VB时遇到了一些小问题,比如 Me .Width / Screen.TwipsPerPixelX 和 Me.Height / Screen.TwipsPerPixelY 是什么意思呢?还没有注释。 原来Screen.TwipsPerPixelX表示横坐标中每像素有多少缇,Me.Width / Screen.TwipsPerPixelX就是得到窗体的像素宽度,同理Me.Height / Screen.TwipsPerPixelY的意思也就知道了。 缇:用于计量单位;计算机的一种测量单位,1像素等于15缇。一厘米等于 567 缇。 像素:是一个相对的单位,它和显示器的分辨率有关系。 可以这样来理解:我们电脑的显示器的物理尺寸是一定的,可是我们可以通过设置来选择不同的分辨率,比如1024*768,就说明在我们的显示器上显示1024*768个像素。如果换一种分辨率呢?很显然,同一个显示器上所显示的像素值就不一样了。也就是说像素的大小和物理长度的对应关系是一个相对值,这个比值就是由分辨率来决定的。经过上面的概念对比,我们可以很清楚的知道缇和像素是没有固定的对应关系的。 那么缇和像素怎么转换呢?这和DPI是有关系的。 当DPI设置为96时(系统默认值),1个像素=(1/96)*1440=15 Twips;当DPI设置为120时,1个像素=(1/120)*1440=12 Twips。当DPI为96时,如果希望窗体的高是「400」像素,宽是「300」像素,属性的设定值就是: Height=400×15=6000 Twips,Width = 300 × 15 = 4500 Twips. 二、在窗体中直接加载的一个图片(用picture 属性,不用控件),大小不能铺满整个屏幕,我想让它铺满整个屏幕。 窗体的AutoRedraw属性设置为True,用下面的代码就行了。 Private Sub Form_Resize() Me.PaintPicture Me.Picture, 0, 0, Me.ScaleWidth, Me.ScaleHeight End Sub |
|关于我们|违规用户|手机版|计算机知识网 ( 豫ICP备15021710号 ) IP: 18.97.14.86 |
计算机知识网上的所有内容均来自于网络和网友,并不代表本站立场。如有侵权,请联系QQ:1078292299我们会尽快删除。 |
声明:严禁任何人以任何形式在本站发表与中华人民共和国法律相抵触的言论! |
GMT+8, 2024-12-11 05:39 |