DefaultControl 属性返回一个 Control 对象,通过该对象,可以为特定窗体或报表上特定类型的控件设置默认属性。例如,在窗体上创建文本框之前,可能想为文本框设置默认属性,这样以后就可以创建多个带有相同基本属性设置的文本框,而不必在创建每个文本框时分别为其设置属性。
expression.DefaultControl(controltype)
ItemData 属性有以下参数:
参数 |
说明 |
expression |
一个表达式,其值为将在其上创建控件的 Form 或 Report 对象。为某类型控件定义的默认属性仅应用于在该窗体或报表上创建的相同类型的控件。 |
一个固有常量,表明要设置默认属性的控件类型。 |
DefaultControl 属性使您可以在代码中设置控件的默认属性。一旦为特定类型的控件设置了默认属性,则在此之后创建的每个该类型的控件都将具有同样的默认值。
例如,如果将默认的命令按钮的 FontSize 属性设为 12,则每个新的命令按钮都将具有 12 磅大小的字体。
并非所有的控件属性都可以作为默认属性。能否作为默认属性取决于控件的类型。
DefaultControl 属性返回一个由 controltype 参数指定类型的 Control 对象,该对象并不代表窗体中的实际控件,而是一个作为所有后续创建的该类型控件模板的默认控件。可以为 DefaultControl 属性返回的 Control 对象设置默认控件属性,就像为窗体上的单个控件设置属性一样。
有关可以作为 controltype 参数传送的固有常量的列表,请参阅 CreateControl 函数。
DefaultControl 属性只能在窗体“设计”视图或报表“设计”视图中使用。如果试图在非“设计”视图中向窗体或报表应用该属性,则会出现运行时错误。
如果试图用 DefaultControl 属性对不能设为默认属性的属性进行设置,则也会出现运行时错误。为确定哪些属性可以作为默认属性,可以列出 DefaultControl 属性返回的 Control 对象的 Properties 集合。
下面的示例创建新的窗体并使用 DefaultControl 属性返回一个代表默认命令按钮的 Control 对象。该过程为命令按钮设置了一些默认属性,然后在窗体上创建新的命令按钮。
Sub SetDefaultProperties()
Dim frm As Form, ctlDefault As Control, ctlNew As Control
' Create new form.
Set frm = CreateForm
' Return Control object representing default command button.
Set ctlDefault = frm.DefaultControl(acCommandButton)
' Set some default properties.
With ctlDefault
.FontWeight = 700
.FontSize = 12
.Width = 3000
.Height = 1000
End With
' Create new command button.
Set ctlNew = CreateControl(frm.Name, acCommandButton, , , , 500, 500)
' Set control's caption.
ctlNew.caption = "New Command Button"
' Restore form.
DoCmd.Restore
End Sub