注册 登录
编程论坛 VB6论坛

如何设置,父窗体变化时子窗体大小及位置也符合要求

燕之峰 发布于 2014-09-04 16:12, 2603 次点击
各位网友好。现父窗体中有多个子窗体,有时启动的子窗体也不只一个。启动后,有时父窗体大小可能会变化。如何设置,父窗体变化后,子窗体的大小及显示的位置仍符合要求。
现有附件,附件中有一个父窗体,三个子窗体,我想这样设计。了窗体一二无论父窗体如何变化,想让它们运行进都充满父窗体。子窗体无论父窗体如何变化,子窗体三大小不变,相对父窗体的位置也不发生变化(如居中显示)。如何设置可达到要求。
另外,当有多个子窗体运行时,如何可获取运行的子窗体名称。如何能判断出某个子窗体是否已运行。
请指导,谢谢
只有本站会员才能查看附件,请 登录


[ 本帖最后由 燕之峰 于 2014-9-4 16:16 编辑 ]
2 回复
#2
风吹过b2014-09-04 17:04
父窗体大小发生变化时,会产生 事件。在这个事件里,处理。

遍类所有的窗体,然后针对各个窗体进行单独处理。
Dim i As Long, j As Long
Dim fr As Form
i = Me.ScaleWidth
j = Me.ScaleHeight
On Error Resume Next
If Me.WindowState <> 1 Then
    For Each fr In Forms
        If fr.Name = "Form1" or  fr.Name = "Form2" Then
            fr.Move 0, 0, i, j
        elseif fr.name="Form3" then
            fr.move (i-fr.width)/2,(j-fr.height)/2 ,fr.width,fr.height              '居中,如果不是的话,你要自己计算位置
        End If
    Next
End If
DoEvents

----------
当有多个子窗体运行时,如何可获取运行的子窗体名称。如何能判断出某个子窗体是否已运行。
就用上面的代码改改吧。
#3
燕之峰2014-09-05 10:50
Me.WindowState
For Each fr In Forms

这两行代码是何意
1