一个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高手给点思路吧,谢谢

解决方案 »

  1.   

    仅供参考    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
      

  2.   

    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