vb问题 将窗体的大小调整为背景图片的大小 怎么做

改窗体... 改窗体 展开
 我来答
szqaly
推荐于2016-05-26 · TA获得超过1745个赞
知道大有可为答主
回答量:2107
采纳率:77%
帮助的人:1498万
展开全部
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
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式