DefaultControl 屬性返回一個 Control 對象,通過該對象,可以為特定窗體或報表上特定類型的控件設(shè)置默認屬性。例如,在窗體上創(chuàng)建文本框之前,可能想為文本框設(shè)置默認屬性,這樣以后就可以創(chuàng)建多個帶有相同基本屬性設(shè)置的文本框,而不必在創(chuàng)建每個文本框時分別為其設(shè)置屬性。
expression.DefaultControl(controltype)
ItemData 屬性有以下參數(shù):
參數(shù) |
說明 |
expression |
一個表達式,其值為將在其上創(chuàng)建控件的 Form 或 Report 對象。為某類型控件定義的默認屬性僅應(yīng)用于在該窗體或報表上創(chuàng)建的相同類型的控件。 |
一個固有常量,表明要設(shè)置默認屬性的控件類型。 |
DefaultControl 屬性使您可以在代碼中設(shè)置控件的默認屬性。一旦為特定類型的控件設(shè)置了默認屬性,則在此之后創(chuàng)建的每個該類型的控件都將具有同樣的默認值。
例如,如果將默認的命令按鈕的 FontSize 屬性設(shè)為 12,則每個新的命令按鈕都將具有 12 磅大小的字體。
并非所有的控件屬性都可以作為默認屬性。能否作為默認屬性取決于控件的類型。
DefaultControl 屬性返回一個由 controltype 參數(shù)指定類型的 Control 對象,該對象并不代表窗體中的實際控件,而是一個作為所有后續(xù)創(chuàng)建的該類型控件模板的默認控件??梢詾?DefaultControl 屬性返回的 Control 對象設(shè)置默認控件屬性,就像為窗體上的單個控件設(shè)置屬性一樣。
有關(guān)可以作為 controltype 參數(shù)傳送的固有常量的列表,請參閱 CreateControl 函數(shù)。
DefaultControl 屬性只能在窗體“設(shè)計”視圖或報表“設(shè)計”視圖中使用。如果試圖在非“設(shè)計”視圖中向窗體或報表應(yīng)用該屬性,則會出現(xiàn)運行時錯誤。
如果試圖用 DefaultControl 屬性對不能設(shè)為默認屬性的屬性進行設(shè)置,則也會出現(xiàn)運行時錯誤。為確定哪些屬性可以作為默認屬性,可以列出 DefaultControl 屬性返回的 Control 對象的 Properties 集合。
下面的示例創(chuàng)建新的窗體并使用 DefaultControl 屬性返回一個代表默認命令按鈕的 Control 對象。該過程為命令按鈕設(shè)置了一些默認屬性,然后在窗體上創(chuàng)建新的命令按鈕。
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