想实现如下功能,不知VB6能不能支持这个功能:
一个MDI主窗体下面已经打开多个子窗体:frm1、frm2、frm3、...
当再次点击菜单(每个菜单项对应一个子窗体),如果子窗体之前已加载,就激活那个子窗体,如果子窗体没有加载过就打开这个子窗体。

解决方案 »

  1.   

    Private Sub Menu1_Click()
        Dim frm As Form
        Dim flag As Boolean
        flag = False
        For Each frm In Forms
            If frm.Name = "BSetting" Then
                frm.SetFocus
                flag = True
                Exit For
            End If
        Next
        If flag = False Then
            Dim cs As New BSetting
            cs.WindowState = 2
            cs.Show
        End If
    End Sub
      

  2.   

    我认为不是特别复杂吧,实际在菜单的 Click 事件中给frm1窗体加上  SetFocus方法就可以了Private Sub cdmc_Click()
     frm1.Show
     frm1.SetFocus
    End SubSetFocus就是让其获得焦点,在打开多个MDI子窗体时,点击菜单就可以将菜单的子窗体拉到最前面。
      

  3.   

        For Each FM In Forms    Next