展开全部
Private Sub Command1_Click()
On Error GoTo 10
Dim V As Single, H As Single
V = Width - ScaleX(ScaleWidth, ScaleMode, vbTwips) '窗口左右边框宽度
H = Height - ScaleY(ScaleHeight, ScaleMode, vbTwips) '窗口上下边框高度
Dim p As Picture
Set p = LoadPicture("E:\User Documents\Master\My Documents\My Pictures\N1top2拷贝.jpg")
Width = ScaleX(p.Width, vbHimetric, vbTwips) + V '图像的尺寸单位:vbHimetric ;要转换为Twips单位;并加上边框尺寸,如果无边框窗口就不需要考虑边框的问题了。
Height = ScaleY(p.Height, vbHimetric, vbTwips) + H
Picture = p
10
End Sub
追问
有没有简单点的,好像直接能在属性中改的,窗口改成与图片一样大就行了
追答
只有在设计时设置picture属性,然后手动调整窗口大小了。
或者你把图放到PictureBox控件中,它有自动适应图片大小的功能:设置属性autoSize=true;窗体没有这个功能。
其实把这段代码包装为一个过程,用越来还是很方便的:
Private Sub SetPicture(picFile as string)
On Error GoTo 10
Dim V As Single, H As Single
V = Width - ScaleX(ScaleWidth, ScaleMode, vbTwips) '窗口左右边框宽度
H = Height - ScaleY(ScaleHeight, ScaleMode, vbTwips) '窗口上下边框高度
Dim p As Picture
Set p = LoadPicture(picFile)
Width = ScaleX(p.Width, vbHimetric, vbTwips) + V '图像的尺寸单位:vbHimetric ;要转换为Twips单位;并加上边框尺寸,如果无边框窗口就不需要考虑边框的问题了。
Height = ScaleY(p.Height, vbHimetric, vbTwips) + H
Picture = p
10
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |