在Windows中标准的做法应该是处理MDI父窗口的WM_ERASEBKGND,但这对VB来说太麻烦了。一个比较简单的办法是先建立一个Form,设置MDIChild为True,Border为0(无)。然后,在Form中加入如下代码: Private Sub Form_Activate() Me.ZOrder 1 End Sub 确保该Form出现在所有窗口的最下面。 在MDIForm的Resize事件中调整Form的大小,以保证它和MDIForm的大小相适应。 Private Sub MDIForm_Resize() If MDIMenu.WindowState <> 1 Then FrmCntnr.Height = MDIMenu.ScaleHeight FrmCntnr.Width = MDIMenu.ScaleWidth End If End Sub 由于你可以在普通的Form中设置背景,所以你可以把这个作为背景的Form当作MDIForm的背景。 另一个办法可以参考例子MDI_Background_Demo.zip(http://www.china-askpro.com/download/MDI_Background_Demo.zip),这个例子是从http://www.mvps.org/vbvision/grouped_demos.htm下载的。
Private Sub Form_Activate()
Me.ZOrder 1
End Sub
确保该Form出现在所有窗口的最下面。
在MDIForm的Resize事件中调整Form的大小,以保证它和MDIForm的大小相适应。
Private Sub MDIForm_Resize()
If MDIMenu.WindowState <> 1 Then
FrmCntnr.Height = MDIMenu.ScaleHeight
FrmCntnr.Width = MDIMenu.ScaleWidth
End If
End Sub
由于你可以在普通的Form中设置背景,所以你可以把这个作为背景的Form当作MDIForm的背景。
另一个办法可以参考例子MDI_Background_Demo.zip(http://www.china-askpro.com/download/MDI_Background_Demo.zip),这个例子是从http://www.mvps.org/vbvision/grouped_demos.htm下载的。
平铺整个屏幕
拉伸
这两个问题请在告诉一下