Udostępnij za pośrednictwem


Właściwości kontrolki

Oprócz właściwości zdefiniowanych i implementowanych przez samą kontrolkę technologia kontrolek ActiveX obejmuje również:

właściwości otoczenia

Są one udostępniane przez kontener za pośrednictwem lokacji klienta sterowania w celu zapewnienia wartości środowiskowych, które mają zastosowanie do wszystkich kontrolek osadzonych w kontenerze. Na przykład kontener może podać domyślny kolor tła lub domyślną czcionkę, która może być używana przez kontrolkę. Właściwości otoczenia są widoczne za pośrednictwem IDispatch zaimplementowanych na obiekcie lokacji kontenera. Kontener wywołuje metodę IOleControl::OnAmbientPropertyChange, gdy dowolna z jej właściwości otoczenia zmienia wartość. W odpowiedzi może być konieczne zaktualizowanie własnego stanu wewnętrznego lub wizualnego w odpowiedzi. Kontener wskazuje, która właściwość otoczenia została zmieniona za pomocą parametru DISPID lub może przekazać DISPID_UNKNOWN, aby wskazać, że wiele właściwości otoczenia uległo zmianie.

właściwości rozszerzone

Są one rzeczywiście implementowane przez kontener w celu opakowania kontrolek, które zawiera w celu zapewnienia właściwości zarządzanych przez kontener, które są wyświetlane tak, jakby były właściwościami natywnej kontrolki. Kontener może agregować kontrolkę, dodając właściwości rozszerzone w celu uzupełnienia lub zastąpienia właściwości kontrolki. Zagregowany obiekt jest nazywany rozszerzoną kontrolką. W kontenerze rozszerzona kontrolka jest wyświetlana jako sama kontrolka i rozszerzone właściwości wydają się być uwidocznione przez kontrolkę. Kontener obsługuje rozszerzoną kontrolę za pośrednictwem metody lokacji klienta IOleControlSite::GetExtendedControl. Metoda GetExtendedControl umożliwia sterowanie przechodzeniem przez lokację do obiektu rozszerzonej kontrolki udostępnionego przez kontener, jeśli kontener obsługuje tę funkcję. Kontener może również wybrać wyświetlanie stron właściwości dla rozszerzonych kontrolek oprócz tych stron, które kontrolka zwykle określałaby za pomocą ISpecifyPropertyPages. W związku z tym kontrolka musi poprosić kontener o wyświetlenie ramki właściwości przed próbą wykonania tej czynności przez kontrolkę. W tym celu kontrolka wywołuje IOleControlSite::ShowPropertyFrame. Jeśli kontener implementuje tę funkcję, zostanie wyświetlona sama ramka właściwości; jeśli metoda zwróci błąd, kontrolka może wyświetlić ramkę właściwości.

Aby uzyskać więcej informacji, zobacz następujące tematy:

metody sterowania