Sdílet prostřednictvím


Vizuální reprezentace

Ovládací prvek podporuje umístění a zobrazení v kontejneru prostřednictvím složené technologie dokumentů a technologie přetažení OLE, která zahrnuje ovládací prvek i jeho kontejner. Ovládací prvek musí být schopen nakreslit sám sebe, zatímco kontejner spravuje pozici ovládacího prvku a jeho velikost.

Ovládací prvky se přidávají do základních funkcí poskytovaných dokumenty OLE. Ovládací prvek volá IOleClientSite::RequestNewObjectLayout metodu, která sdělí kontejneru, že chce změnit jeho velikost. Klient volá ovládací prvek IOleObject::GetExtent získat novou velikost a volání IOleInPlaceObject::SetObjectRects nastavit ovládací prvek na novou velikost.

Ovládací prvky, které podporují pouze IPersistStream nebo IPersistStreamInit nepodporují ukládání do mezipaměti prostřednictvím IOleCache2, protože mezipaměť vyžaduje podporu IPersistStorage. Tyto ovládací prvky by ale měly poskytnout klientovi způsob vykreslení ovládacího prvku prostřednictvím IDataObject::GetData, aby mohl klient volitelně vytvořit a spravovat vlastní mezipaměť dat prezentace pro ovládací prvek.

Ovládací prvky používají pro své souřadnice typ HIMETRIC. Různé kontejnery však mohou používat různé souřadnicové systémy. Kontejner chce přijímat souřadnice ve vlastním systému, ale ovládací prvek nemusí nutně vědět, jaké souřadnice kontejner používá. Aby bylo možné úspěšně komunikovat, potřebuje ovládací prvek způsob, jak převést hodnoty na souřadnice kontejneru. Kontejner poskytuje objekt webu s IOleControlSite::TransformCoords metoda. Ovládací prvek volá tuto metodu na klientské lokalitě kontejneru, aby nejprve převeďte své souřadnice na odpovídající souřadnice kontejneru. Pak může předat převedené souřadnice kontejneru.

Ovládací prvky mohou volat IOleControlSite::LockInPlaceActive v objektu lokality kontejneru, aby se kontejner pokusil snížit úroveň ovládacího prvku z místního aktivního stavu. Snížení úrovně ovládacího prvku tímto způsobem způsobí deaktivaci ovládacího prvku a jeho okno zničeno, takže pokud ovládací prvek musí udržovat jeho okno po známou dobu, může volat LockInPlaceActive zaručit jeho stav.

ovládací prvky ActiveX