vb6.0子窗体切换有关问题
求助vb6.0子窗体切换问题现在我使用的是FORM的Visible属性控制其是否显示。但是如果子FORM很多的话,一个一
求助vb6.0子窗体切换问题
现在我使用的是FORM的Visible属性控制其是否显示。
但是如果子FORM很多的话,一个一个写很费事。
我发现MDIform有
ActiveMDIChild属性,指向当前活动的子窗体。此乃TForm *类型的指针,必要时可强制转换为任意类型的子窗体实例。
MDIChildCount属性,用于判断已经创建的子窗体的总数。
MDIChildren属性,是一个TForm *类型的指针数组,指向目前存在的所有的子窗体。结合MDIChildCount属性,可以实现子窗体的遍历。
这样的话就可以通过循环控制。
我现在不明白的是MDIChildCount属性中已经创建的子窗体的总数这句话。如果MDIFORM只LOAD了一个子窗体,那这个数字就是1吗?还是全部子窗体的个数?
我的代码中:
VB codePrivate 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