Свойство ComboBox.ControlType (Access)
Используйте свойство ControlType в Visual Basic, чтобы определить тип элемента управления в форме или отчете. Чтение и запись байтов.
Синтаксис
expression. Controltype
Выражение Переменная, представляющая объект ComboBox .
Замечания
Параметр свойства ControlType является встроенной константой, указывающей тип элемента управления. Полный список элементов управления, созданных методами CreateControl и CreateReportControl , см. в перечислении AcControlType .
Свойство ControlType можно задать только с помощью Visual Basic в режиме конструктора или конструктора отчета, но его можно считывать во всех представлениях.
Свойство ControlType полезно не только для проверки определенного типа элемента управления в коде, но и для изменения типа элемента управления на другой тип. Например, можно изменить текстовое поле на поле со списком, задав для свойства ControlType для текстового поля значение acComboBox в режиме конструктора формы.
Используйте свойство ControlType для изменения характеристик аналогичных элементов управления в форме в соответствии с определенными условиями. Например, если вы не хотите, чтобы пользователи редактировали существующие данные в текстовых полях, можно задать для свойства SpecialEffect для всех текстовых полей значение Flat, а для свойства AllowEdits формы — Значение Нет. (Свойство SpecialEffect не влияет на возможность редактирования данных; оно используется здесь для предоставления визуального подсказки об изменении поведения элемента управления.)
Свойство ControlType также используется для указания типа элемента управления, создаваемого при использовании метода CreateControl .
Пример
В следующем примере проверяется свойство ControlType для всех элементов управления в форме. Для каждого элемента управления "Метка" и "Текстовое поле" процедура переключает свойство SpecialEffect для этих элементов управления.
Если свойству SpecialEffect элемента управления label присвоено значение Shadowed, а свойству 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
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.