Access VBA教程:ControlType属性

可以在 Visual Basic 中使用 ControlType 确定窗体或报表中的控件的类型。Byte 型,可读/写。

expression.ControlType

expression   必需。返回“Applies To”列表中的一个对象的表达式。

设置

ControlType属性是用于指定控件类型的固有常量。

常量 控件
acBoundObjectFrame 绑定对象框
acCheckBox 复选框
acComboBox 组合框
acCommandButton 命令按钮
acCustomControl ActiveX(自定义)控件
acImage 图像
acLabel 标签
acLine 线条
acListBox 列表框
acObjectFrame 未绑定对象框图表
acOptionButton 选项按钮
acOptionGroup 选项组
acPage
acPageBreak 分页符
acRectangle 矩形
acSubform 子窗体/子报表
acTabCtl 选项卡
acTextBox 文本框
acToggleButton 切换按钮

ControlType属性只能通过使用Visual Basic 在窗体“设计”视图或报表“设计”视图中设置,但能在所有视图中查看。

说明

ControlType属性不仅可以用于在代码中检查特定控件的类型,也可以对控件类型进行更改。例如,可以在窗体“设计”视图中将文本框的 ControlType属性更改为 acComboBox,使文本框变为组合框。

利用 ControlType属性还可以根据特定的条件,改变窗体上相似控件的特征。例如,当不想让用户编辑文本框中已有的数据时,可以将所有文本框的SpecialEffect属性设置为“平面”,并将窗体的AllowEdits属性设置为“否”。(SpecialEffect属性不影响是否可以编辑数据,它只提供一个控件行为已经更改的视觉提示。)

ControlType 还用于在使用CreateControl 方法创建控件时指定控件类型。

VBA示例

以下示例检查窗体上所有控件的 ControlType属性。对所有标签和文本框控件,该过程切换其“SpecialEffect”属性。当标签的“特殊效果”属性设置为“凹陷”,且文本框的“特殊效果”属性设置为“普通”,AllowAdditions、AllowDeletions 和 AllowEdits属性均设置为 True,则intCanEdit 变量将切换为允许编辑基础数据。


Sub ToggleControl(frm As Form)
    Dim ctl As Control
    Dim intI As Integer, intCanEdit As Integer
    Const conTransparent = 0
    Const conWhite = 16777215
    For Each ctl in frm.Controls
        With ctl
            Select Case .ControlType
                Case acLabel
                    If .SpecialEffect = acEffectShadow Then
                        .SpecialEffect = acEffectNormal
                        .BorderStyle = conTransparent
                        intCanEdit = True
                    Else
                        .SpecialEffect = acEffectShadow
                        intCanEdit = False
                    End If
                Case acTextBox
                    If .SpecialEffect = acEffectNormal Then
                        .SpecialEffect = acEffectSunken
                        .BackColor = conWhite
                    Else
                        .SpecialEffect = acEffectNormal
                        .BackColor = frm.Detail.BackColor
                    End If
            End Select
        End With
    Next ctl
    If intCanEdit = IFalse Then
        With frm
            .AllowAdditions = False
            .AllowDeletions = False
            .AllowEdits = False
        End With
    Else
        With frm
            .AllowAdditions = True
            .AllowDeletions = True
            .AllowEdits = True
        End With
    End If
End Sub

上页:Access VBA教程:ControlTipText属性 下页:Access VBA教程:Copies属性

Access VBA教程:ControlType属性

Access VBA教程:Copies属性 Access VBA教程:Count属性
Access VBA教程:CountOfDeclarationLines属性 Access VBA教程:CountOfLines属性
Access VBA教程:CurrentData属性 Access VBA教程:CurrentObjectName属性
Access VBA教程:CurrentObjectType属性 Access VBA教程:CurrentPage属性(快照查看器)
Access VBA教程:CurrentProject属性 Access VBA教程:CurrentRecord属性
Access VBA教程:CurrentSectionLeft属性 Access VBA教程:CurrentSectionTop属性
Access VBA教程:CurrentView属性 Access VBA教程:CurrentX属性
Access VBA教程:CurrentY属性 Access VBA教程:Custom属性
Access VBA教程:Cycle属性 Access VBA教程:DataAccessPages属性
Access VBA教程:Database属性 Access VBA教程:DataChange属性
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号