Свойство ObjectFrame.ControlType (Доступ)

Используйте свойство ControlType в Visual Basic, чтобы определить тип управления в форме или отчете. Чтение и написание Byte.

Синтаксис

выражения. ControlType

выражение Переменная, представляюная объект ObjectFrame .

Примечания

Параметр свойства ControlType — это внутренняя константа, которая указывает тип управления. Полный список элементов управления, созданных методами CreateControl и CreateReportControl , см. в списке AcControlType .

Свойство ControlType можно установить только с помощью Visual Basic в виде представления design или представления design report, но его можно прочитать во всех представлениях.

Свойство ControlType полезно не только для проверки определенного типа управления в коде, но и для изменения типа управления на другой тип. Например, можно изменить текстовое поле на поле комбо, установив свойство ControlType для текстового окна на acComboBox во время представления "Дизайн формы".

Используйте свойство ControlType для изменения характеристик аналогичных элементов управления в форме в соответствии с определенными условиями. Например, если вы не хотите, чтобы пользователи редактировали существующие данные в текстовых ящиках, можно установить свойство SpecialEffect для всех текстовых полей в Flat и зафиксировать свойство AllowEdits формы в поле No. (Свойство SpecialEffect не влияет на возможность редактирования данных; оно используется здесь для предоставления визуального сигнала о том, что поведение управления изменилось.)

Свойство ControlType также используется для указания типа управления для создания при использовании метода CreateControl .

Пример

В следующем примере рассматривается свойство ControlType для всех элементов управления на форме. Для каждого управления меткой и текстовым полем процедура перетаговываю свойство SpecialEffect для этих элементов управления.

Если свойство SpecialEffect управления меткой задает значение Shadowed, а свойство SpecialEffect управления текстовым полем задает значение Normal, а свойства 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 и обратная связь.