本来想用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 0, 0, MdiMain.ScaleWidth, MdiMain.ScaleHeight
End Sub
Private Sub Form_Resize()
Pic1.Move 0, 0, Me.ScaleWidth, Me.ScaleHeight
Pic1.PaintPicture pp, 0, 0, Pic1.Width, Pic1.Height
End Sub
pic1是我创建的一个pictruebox,mdi主窗口名称为 mdimain。
Sub Form_Activate()过程保证了该窗口永不被激活,以免挡住其它窗口。而再没有其它窗口显示时,此窗口又可以正常使用上面的控件。
本文介绍了一种在MDI应用程序中设置背景图片的方法。通过创建一个专用窗体并利用PictureBox控件,实现在不激活该窗体的情况下显示背景图片,并确保其不会遮挡其他窗口。
1031

被折叠的 条评论
为什么被折叠?



