Поделиться через


Метод Application.CreateControl (Access)

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

Синтаксис

expression. CreateControl (FormName, ControlType, Section, Parent, ColumnName, Left, Top, Width, Height)

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

Параметры

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

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

Управление

Замечания

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

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

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

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

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

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

Примечание.

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

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

Пример

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

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 и обратная связь.