概述
AmbientProperties 對象保持來自容器的環境信息,這些信息決定了容器內控制項的行為。說明
容器提供的環境屬性可影響控制項的行為。例如,BackColor 是一個標準的環境屬性;容器指示控制項在正常情況下如何設定自己的背景顏色屬性。AmbientProperties 對象的屬性是容器的環境屬性。這些屬性是唯讀的。
有些環境屬性是標準的,有些則是某些容器特有的。控制項可訪問非標準的環境屬性,但是這樣使控制項只適用於某些容器。當前容器沒有提供某個環境屬性時,控制項也應該能夠處理這種情況。
編譯控制項後,Visual Basic 無法獲知控制項運行時能提供哪種特定容器的環境屬性;因此特定容器環境屬性的引用總是後期綁定的。
初始化事件產生時,AmbientProperties 對象不可用;但是 InitProperties 事件和 ReadProperties 事件產生時,此對象可用。
屬性
AmbientProperties 對象具有若干標準屬性:BackColor 屬性,顏色值,它包含推薦使用的所含控制項的內部顏色。如果容器不支持該屬性,Visual Basic 提供的預設值為 0x80000005:這是視窗背景的系統顏色。
DisplayAsDefault 屬性,布爾值,它指定控制項是否為預設控制項。如果容器不支持該屬性,Visual Basic 提供的預設設定值為 False。
DisplayName 屬性,字元串,它包含控制項自己顯示的名稱。如果容器不支持該屬性,Visual Basic 提供的預設值是空字元串:" "。
Font 屬性,Font 對象,它包含推薦使用的控制項所含的字型信息。如果容器不支持該屬性,Visual Basic 提供的預設值為 MS Sans Serif 8。
ForeColor 屬性,顏色值,它包含推薦使用的控制項所含的前景色。如果容器不支持該屬性,Visual Basic 提供的預設值為 0x80000008:這是視窗文本的系統顏色。
LocaleID 屬性,長整型數值,它指定用戶的語言和國家/地區。如果容器不支持該屬性,Visual Basic 提供的預設值是當前的系統區域 ID。
MessageReflect 屬性,布爾值,它指示控制項是否支持訊息返回。如果容器不支持該屬性,Visual Basic 提供的預設值為 False。
Palette 屬性,Picture 對象,其調色板指定推薦使用的控制項所含調色板。
RightToLeft 屬性,布爾值,它指示雙向系統上文本的顯示方向及控制項的外觀。如果容器不支持該屬性,Visual Basic 提供的預設值為 False。
ScaleUnits 屬性,字元串,它包含容器使用的坐標單位的名稱。如果容器不支持該屬性,Visual Basic 提供的預設值是空字元串:" "。
ShowGrabHandles 屬性,布爾值,它指定控制項是否處理抓取處理的顯示。如果容器不支持該屬性,Visual Basic 提供的預設值為 True。
ShowHatchings 屬性,布爾值,它指定容器是否處理陰影的顯示。如果容器不支持該屬性,Visual Basic 提供的預設值為 True。
SupportsMnemonics 屬性,布爾值,它指示容器是否處理控制項的訪問鍵。如果容器不支持該屬性,Visual Basic 提供的預設值為 False。
TextAlign 屬性,枚舉,它指定文本對齊方式。如果容器不支持該屬性,Visual Basic 提供的預設值為 0 - General Align。
UserMode 屬性,布爾值,它指定環境是處於設計模式還是處於最終用戶模式。如果容器不支持該屬性,Visual Basic 提供的預設值為 True。
UIDead 屬性,布爾值,它指定用戶界面是否為不回響的。如果容器不支持該屬性,Visual Basic 提供的預設值為 False。
注意 當訪問AmbientProperties對象的Font屬性時,沒有得到對容器字型的引用,而是得到一個對字型的複製(clone)。
這樣做的原因是每當容器中增加一個控制項實例時,通常用AmbientProperties.Font來初始化控制項的字型。如果提供對字型自身的一個引用,那么控制項字型的改變同樣也使容器的字型改變。
如果由於某種原因控制項需要對容器字型的引用時,可以通過UserControl對象的 Parent屬性訪問容器得到它。