MDI窗口中实现自动缩放的背景图

本文介绍了一种在MDI应用程序中设置背景图片的方法。通过创建一个专用窗体并利用PictureBox控件,实现在不激活该窗体的情况下显示背景图片,并确保其不会遮挡其他窗口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本来想用mdiform.picture.render方法,但最后一下参数怎么也搞不清,于是想了个变通办法,发现这样实现其实更加方便,很多其它没办法实现的东西也可以实现了。

原理是创建一个新的专门用来作背景的窗体,将其caption 清空,controlbox设为false,mdichild设为true。然后在代码 窗口中写入:

Option Explicit

Dim pp

Private Sub Form_Activate()
Dim o As Form
If Forms.Count >= 3 Then
    Forms(Forms.Count 
- 1).SetFocus
End If
End Sub

Private Sub Form_Load()
Set pp = LoadPicture(App.Path & "/resource/back.jpg")
Me.Move 
00, MdiMain.ScaleWidth, MdiMain.ScaleHeight
End Sub

Private Sub Form_Resize()
Pic1.Move 
00, Me.ScaleWidth, Me.ScaleHeight
Pic1.PaintPicture pp, 
00, Pic1.Width, Pic1.Height
End Sub

pic1是我创建的一个pictruebox,mdi主窗口名称为 mdimain。

Sub Form_Activate()过程保证了该窗口永不被激活,以免挡住其它窗口。而再没有其它窗口显示时,此窗口又可以正常使用上面的控件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值