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

vb6.0子窗体切换有关问题

2012-04-04 
求助vb6.0子窗体切换问题现在我使用的是FORM的Visible属性控制其是否显示。但是如果子FORM很多的话,一个一

求助vb6.0子窗体切换问题
现在我使用的是FORM的Visible属性控制其是否显示。
  但是如果子FORM很多的话,一个一个写很费事。
  我发现MDIform有
  ActiveMDIChild属性,指向当前活动的子窗体。此乃TForm *类型的指针,必要时可强制转换为任意类型的子窗体实例。  
    MDIChildCount属性,用于判断已经创建的子窗体的总数。  
    MDIChildren属性,是一个TForm *类型的指针数组,指向目前存在的所有的子窗体。结合MDIChildCount属性,可以实现子窗体的遍历。

  这样的话就可以通过循环控制。
  我现在不明白的是MDIChildCount属性中已经创建的子窗体的总数这句话。如果MDIFORM只LOAD了一个子窗体,那这个数字就是1吗?还是全部子窗体的个数?

  我的代码中:

VB code
Private Sub MDIForm_Load()    Form1.ShowMsgBox Str(MDIChildCount), 1 + 16 + 256 + 0, "MDIChildCount" End Sub


运行结果为什么总是0呢?
大家有没有做过这方面的,指点一下啊,谢谢了

[解决办法]
你得me.MDIChildCount或者MDIForm.MDIChildCount吧,要不然这样它只是一个变量啊,你又未声明,当然是0
[解决办法]
VB MDI子窗体切换

Dim frm As Form
For Each frm In Forms
If frm.Name = "你的窗体名" Then
你的窗体名.SetFocus
Exit Sub
End If
Next
你的窗体名.Show
[解决办法]
给你一段我本人自己开发时写的一个函数:

Function IsLoadFormII(uFrmName As String) As Boolean
'//判断窗体是否加载
Dim uFrm As Form
For Each uFrm In Forms
' MsgBox ufrm.Name
If uFrm.Name = uFrmName Then
uFrm.ZOrder 0
If uFrm.WindowState = 1 Then uFrm.WindowState = 0
IsLoadFormII = True
End If
Next
End Function

热点排行