Метод Application.CreateControl (Access)

Метод CreateControl создает элемент управления в указанной открытой форме. Например, предположим, что вы создаете настраиваемый мастер, который позволяет пользователям легко создавать определенную форму. Добавьте в форму соответствующие элементы управления с помощью метода CreateControl мастера.

Синтаксис

выражение. CreateControl (FormName, ControlType, Section, Parent, ColumnName, Left, Top, Width, Height)

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

Параметры

Имя Обязательный или необязательный Тип данных Описание
FormName Обязательный String Имя открытой формы или отчета, для которых требуется создать элемент управления.
ControlType Обязательный AcControlType Константа AcControlType , представляющая тип создаваемого элемента управления.
Section Необязательный AcSection Константа AcSection , определяющая раздел, содержащий новый элемент управления.
Parent Необязательный Variant Имя родительского элемента управления подключенного элемента управления. Для элементов управления, не имеющих родительского элемента управления, используйте в качестве этого аргумента пустую строку или опускайте его.
ColumnName Необязательный Variant Имя поля, к которому будет привязан элемент управления, если он должен быть связан с данными.
Слева,Сверху Необязательный Variant Координаты левого верхнего угла элемента управления в twips.
Ширина, высота Необязательный Variant Числовые выражения, обозначающие ширину и высоту элемента управления в twips.

Возвращаемое значение

Control

Примечания

Используйте методы CreateControl и CreateReportControl в настраиваемом мастере, чтобы создавать элементы управления в форме или отчете. Оба метода возвращают объект Control .

Используйте методы CreateControl и CreateReportControl только в конструкторе формы или конструкторе отчетов соответственно.

Аргумент "Родитель" используется для определения отношения между основным и подчиненным элементом управления. Например, если к текстовому полю прикреплена метка, она является основным (или родительским) элементом управления, а метка — подчиненным (или дочерним) элементом управления. При создании элемента управления меткой задайте его аргумент как строку, идентифицирующую имя родительского элемента управления. При создании текстового поля задайте для его аргумента "Родитель " пустую строку.

Аргумент "Родитель" также задается при создании полей проверки, переключателей или переключателей. Группа параметров является родительским элементом управления для всех содержащихся в ней полей проверки, переключателей или переключателей. Единственные элементы управления, которые могут иметь родительский элемент управления, — это метка, поле проверки, кнопка переключателя или переключатель. Все эти элементы управления также могут создаваться независимо друг от друга, без родительского элемента управления.

Установите аргумент ColumnName в соответствии с типом создаваемого элемента управления и тем, будет ли он привязан к полю в таблице. К элементам управления, которые могут быть привязаны к полю, относятся текстовое поле, список, поле со списком, группа параметров и связанный объект frame. Кроме того, элементы управления переключателем, переключателем и полем проверки могут быть привязаны к полю, если они не содержатся в группе параметров.

Если указать имя поля для аргумента ColumnName , создается элемент управления, связанный с этим полем. Всем свойствам элемента управления автоматически присваиваются настройки любых соответствующих свойств полей. Например, значение свойства ValidationRule элемента управления будет таким же, как и значение свойства поля.

Примечание.

Если мастер создает элементы управления для новой или существующей формы или отчета, сначала необходимо открыть форму или отчет в режиме конструктора.

Чтобы удалить элемент управления из формы или отчета, используйте методы DeleteControl и DeleteReportControl .

Пример

В следующем примере сначала создается новая форма на основе таблицы "Заказы". Затем с помощью метода CreateControl создается элемент управления "текстовое поле" и элемент управления "Метка вложения" в форме.

Sub NewControls() 
 Dim frm As Form 
 Dim ctlLabel As Control, ctlText As Control 
 Dim intDataX As Integer, intDataY As Integer 
 Dim intLabelX As Integer, intLabelY As Integer 
 
 ' Create new form with Orders table as its record source. 
 Set frm = CreateForm 
 frm.RecordSource = "Orders" 
 ' Set positioning values for new controls. 
 intLabelX = 100 
 intLabelY = 100 
 intDataX = 1000 
 intDataY = 100 
 ' Create unbound default-size text box in detail section. 
 Set ctlText = CreateControl(frm.Name, acTextBox, , "", "", _ 
 intDataX, intDataY) 
 ' Create child label control for text box. 
 Set ctlLabel = CreateControl(frm.Name, acLabel, , _ 
 ctlText.Name, "NewLabel", intLabelX, intLabelY) 
 ' Restore form. 
 DoCmd.Restore 
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.