控件屬性
除了控件本身所定義和實作的屬性之外,ActiveX 控件技術也涉及:
-
環境屬性
-
容器會透過控件用戶端網站公開這些值,以提供套用至容器內嵌的所有控件的環境值。 例如,容器可以提供預設的背景色彩或控件可以使用的預設字型。 環境屬性是透過 在容器的月台對象上實作的 IDispatch 公開。 當控件的任何環境屬性變更值時,容器會呼叫控件的 IOleControl::OnAmbientPropertyChange 方法。 回應中,控件可能需要更新自己的內部或視覺狀態以回應。 容器會指出 DISPID 參數變更的環境屬性,或可能會傳遞DISPID_UNKNOWN,表示多個環境屬性已變更。
-
擴充屬性
-
這些實際上是由容器實作,以包裝它所包含的控件,以提供容器管理的屬性,看起來像是原生控件屬性。 容器可以匯總控件,並新增擴充屬性來補充或覆寫控件的屬性。 匯總的對象稱為擴充控件。 對容器,擴充控件會顯示為控件本身,而擴充屬性似乎由控件公開。 容器透過其用戶端月臺方法 IOleControlSite::GetExtendedControl 支援擴充控件。 如果容器支援這項功能,GetExtendedControl 方法可讓控件巡覽網站到容器提供給它們的擴充控件物件。 除了控件通常會透過 ISpecifyPropertyPages 指定的頁面之外,容器也可以選擇顯示其擴充控件的屬性頁。 因此,控件必須要求容器在控件嘗試執行此動作之前顯示屬性框架。 控件會呼叫 IOleControlSite::ShowPropertyFrame 來執行此動作。 如果容器實作此函式,則會顯示屬性框架本身;如果方法傳回錯誤,則控件可以顯示屬性框架。
如需詳細資訊,請參閱下列主題:
相關主題