求助,关于MDi的缩放问题,谢谢
一个mdi父窗体,下面有若干子窗体,考虑到和主窗体能美观结合,所有子窗体的caption为空,borderstyle为0
设想是父窗体窗口变化是,只要是现在显示的(或者调用)的子窗体(包括子窗体上的控件)都能随父窗体一起缩放。
目前代码大致是:
父窗体缩放时执行:
子窗体1 .Move 0, 0, ScaleWidth, ScaleHeight
子窗体2 .Move 0, 0, ScaleWidth, ScaleHeight
子窗体3 .Move 0, 0, ScaleWidth, ScaleHeight
子窗体4.Move 0, 0, ScaleWidth, ScaleHeight
.。。。。
再在每个子窗体的缩放时执行该窗体上控件的缩放
实现这样倒是可以实现,但是感觉要繁琐,不知道是不是有更简便的方法
因为按照这样,父窗体缩放时,譬如我当时子窗体2其实没有调用,但是父窗体缩放时却依然执行了子窗体2 .Move 0, 0, ScaleWidth, ScaleHeight
高手给点思路吧,谢谢
[解决办法]
仅供参考
For i = 0 To Controls.Count - 1 'Debug.Print Controls(i).Name, TypeName(Controls(i)) If TypeName(Controls(i)) = "Label" Or TypeName(Controls(i)) = "TextBox" Or TypeName(Controls(i)) = "ListBox" Then Controls(i).Font.Name = "宋体" Controls(i).Font.Size = 9 End If Next
[解决办法]
Private Sub MDIForm_Resize() Dim frm As Form For Each frm In Forms If Not (frm Is MDIForm1) Then If frm.WindowState = 0 Then frm.Move 0, 0, ScaleWidth, ScaleHeight End If End If NextEnd Sub