首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

,关于MDi的缩放有关问题,多谢

2012-05-22 
求助,关于MDi的缩放问题,谢谢一个mdi父窗体,下面有若干子窗体,考虑到和主窗体能美观结合,所有子窗体的capt

求助,关于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

高手给点思路吧,谢谢

[解决办法]
仅供参考

VB code
    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
[解决办法]
VB code
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 

热点排行