我们经常自定义函数,其参数可以设为控件,也可以设为控件名(即字符串型),二者达到的目的是一致的,但在用法是有些差异。
1. 用控件用参数,在函数中直接写控件即可。如下例:
Function SetMouseMove (Ctl As Label)
If (Me.rtgscale.Left <> Ctl.Left) or (Me.rtgscale.Top <> Ctl.Top) or (Not Me.rtgscale.Visible) Then
Me.rtgscale.Left = Ctl.Left
Me.rtgscale.Top = Ctl.Top
Me.rtgscale.Visible = True
End If
End Function
2. 用控件名作参数,在函数中就要写Controls(ctlname),如下例:
Function LabClick(ByVal labname As String)
On Error Resume Next
If Me.Controls(labname).Visible = True Then
Me.txtScale = Me.Controls(labname).Caption
End If
End Function
3. 在属性中写事件上不同:
如果是控件为参数,在函数中的括号中直接写上控件名在事件中写上 = SetMouseMove([Label1])
如是控件名或字符串为参数,在函数中的括号中要将参数打上双引号在相应的事件中写上:= LabClick(" labname ")
一个是加中括号(自动加上去的),一个是要加双引号。