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

请问

2012-01-15 
请教以下代码什么意思,最好每行能给个注释,谢谢了SubFC_LockField(ParamArrayctlName())DimctlName1AsVari

请教
以下代码什么意思,最好每行能给个注释,谢谢了
Sub   FC_LockField(ParamArray   ctlName())
        Dim   ctlName1   As   Variant
       
        For   Each   ctlName1   In   ctlName
                If   (TypeOf   ctlName1   Is   TextBox)   Or   (TypeOf   ctlName1   Is   ComboBox)   Or   (TypeOf   ctlName1   Is   myCombox)   Then
                        ctlName1.Locked   =   True
                        ctlName1.BackColor   =   &H80000004
                        ctlName1.TabStop   =   False
                ElseIf   ((TypeOf   ctlName1   Is   Frame)   Or   (TypeOf   ctlName1   Is   CommandButton))   Then
                        ctlName1.Enabled   =   False
                ElseIf   ((TypeOf   ctlName1   Is   RGDate))   Then
                        ctlName1.Enabled   =   False
                        ctlName1.BackColor   =   &H80000004
                Else
                        Dim   rc   As   Long
                        rc   =   MsgBox( "函数使用错误-在 "   &   ctlName1.Name,   vbOKOnly,   "调试信息 ")
                        ctlName1.SetFocus
                End   If
        Next
End   Sub

[解决办法]
Sub FC_LockField(ParamArray ctlName())
Dim ctlName1 As Variant

For Each ctlName1 In ctlName
If (TypeOf ctlName1 Is TextBox) Or (TypeOf ctlName1 Is ComboBox) Or (TypeOf ctlName1 Is myCombox) Then '判断是否为文本框,组合框或者myCombox(这个好象是外部的控件吧)
ctlName1.Locked = True ‘解锁,可以输入
ctlName1.BackColor = &H80000004 ’控件设背景颜色
ctlName1.TabStop = False
ElseIf ((TypeOf ctlName1 Is Frame) Or (TypeOf ctlName1 Is CommandButton)) Then ‘如果是框架控件或者命令按钮
ctlName1.Enabled = False ’将其不可用
ElseIf ((TypeOf ctlName1 Is RGDate)) Then
ctlName1.Enabled = False
ctlName1.BackColor = &H80000004
Else
Dim rc As Long
rc = MsgBox( "函数使用错误-在 " & ctlName1.Name, vbOKOnly, "调试信息 ")
ctlName1.SetFocus
End If
Next
End Sub
其实就是判断各个控件的状态,对其改变属性!
[解决办法]
这个函数应该是用来锁定一组控件的。

例如:
在Form上有一个TextBox控件, 名为Text1;还有一个ComboBox控件,名为Combo1;还有一个CommandButton控件,名为Command1

现在这样调用:
FC_LockField Text1, Combo1, Command1
则这个函数会将Text1和Combo1设置成只读,背景为灰色,同时将Command1设置为不可用。

热点排行