我需要先知道Bitmap的长度和宽度后,对Picture控件的大小作出调整,使得Picture控件的长度和宽度与Bitmap的长度和宽度一致,谢谢!
strPath = g_strSkinPath & "FrameLeftTop2.bmp"
Set picTemp = LoadPicture(strPath)
.pic_LT.Width = picTemp.Width    ‘???????这里的尺寸比例不对,怎么转换?
.pic_LT.Height = picTemp.Height   ’???????这里的尺寸比例不对,怎么转换?
.pic_LT.Picture = LoadPicture(strPath)

解决方案 »

  1.   

    picTemp.Width 和 picTemp.Height 存的是图片的像素数,而 pic_LT 控件默认的宽度、高度单位为“缇(Twip)”,可以将 pic_LT 的 ScaleMode 改为 VbPixelsScaleMode 的属性值所下:
    vbUser 0 指出 ScaleHeight、ScaleWidth、ScaleLeft 和 ScaleTop 属性中的一个或多个被设置为自定义的值。
    VbTwips 1 (缺省值)缇(每逻辑英寸为 1440 缇;每逻辑厘米为 567 个缇)。
    VbPoints 2 磅(每逻辑英寸为 72 个磅)。
    VbPixels 3 像素(监视器或打印机分辨率的最小单位)。
    vbCharacters 4 字符(水平每个单位=120 缇;垂直每个单位=240 缇。)
    VbInches 5 英寸。
    VbMillimeters 6 毫米。
    VbCentimeters 7 厘米。
    不改变ScaleMode的话,也可以在设定Width和Height时算出缇数。修改下面两行...pic_LT.Width = picTemp.Width
    pic_LT.Height = picTemp.Height改为...pic_LT.Width = picTemp.Width * Screen.TwipsPerPixelX
    pic_LT.Height = picTemp.Height * Screen.TwipsPerPixelY