请教如何把控件做为函数的参数传递
我想Enable/Disable指定Frame控件中的所有控件。下面是我的代码:
Private Sub EnableDisableFrameControls(ctl As Control, IsEnabled As Boolean)
Dim J As Integer
For J = 0 To Controls.Count - 1
On Error Resume Next
If Controls(J).Container Is ctl Then
Controls(J).Enabled = IsEnabled
End If
Next J
End Sub
但是,这段代码却不能正确执行,因为传递过去的是Frame控件的Caption,而不是Frame控件。
我想请教一下,这段代码该如何修改才能正确执行?
多谢了!
问题点数:20、回复次数:2Top
1 楼sunbf(www.51-pass.com)回复于 2002-04-15 22:40:13 得分 0
Option Explicit
Private Sub Form_Load()
EnableDisableFrameControls Frame1, False
End Sub
Private Sub EnableDisableFrameControls(ctl As Control, IsEnabled As Boolean)
Dim J As Integer
For J = 0 To Controls.Count - 1
On Error Resume Next
If Controls(J).Container Is ctl Then
Controls(J).Enabled = IsEnabled
End If
Next J
End Sub
Top
2 楼enmity(灵感之源)回复于 2002-04-15 22:55:54 得分 20
参考例子,没有判断容器是否为控件数组,请自行完成!
Private Sub Command1_Click()
SetFrameState Me, Frame1, False
End Sub
Private Sub SetFrameState(ByRef frmParent As Form, _
ByRef ctlContainer As Control, _
ByVal blnIsEnabled As Boolean)
Dim o_ctlItem As Control
Dim o_intItems As Integer
On Error Resume Next
For Each o_ctlItem In frmParent.Controls
With o_ctlItem
If .Container.Name = ctlContainer.Name Then
.Enabled = blnIsEnabled
Else
End If
End With
Next
End Sub
Top




