Megosztás a következőn keresztül:


Vizuális ábrázolás

A vezérlők összetett dokumentumtechnológiával és OLE húzási technológiával támogatják a tárolón belüli elhelyezést és megjelenítést, amely magában foglalja a vezérlőt és a tárolót is. A vezérlőnek képesnek kell lennie rajzolni, miközben a tároló kezeli a vezérlő pozícióját és méretét.

A vezérlők hozzáadják az OLE-dokumentumok által biztosított alapvető függvényeket. Egy vezérlő meghívja az ügyfél IOleClientSite::RequestNewObjectLayout metódust, hogy közölje a tárolóval, hogy módosítani szeretné a méretét. Az ügyfél meghívja a vezérlő IOleObject::GetExtent az új méret lekéréséhez, és meghívja IOleInPlaceObject::SetObjectRects a vezérlő új méretre való beállításához.

A csak IPersistStream vagy IPersistStreamInit támogató vezérlők nem támogatják a gyorsítótárazást IOleCache2 keresztül, mert a gyorsítótárhoz IPersistStoragetámogatása szükséges. Ezeknek a vezérlőknek azonban módot kell biztosítaniuk arra, hogy az ügyfél megjelenítse a vezérlőt IDataObject::GetData, hogy az ügyfél igény szerint létrehozhatja és kezelheti a vezérlőhöz tartozó bemutatóadatok saját gyorsítótárát.

A vezérlők a HIMETRIC típust használják a koordinátáihoz. A különböző tárolók azonban különböző koordináta-rendszereket használhatnak. A tároló a saját rendszerében szeretne koordinátákat fogadni, de a vezérlő nem feltétlenül tudja, hogy a tároló milyen koordinátákat használ. A sikeres kommunikációhoz a vezérlőnek módot kell adni arra, hogy az értékeket a tároló koordinátáivá alakítsa. A tároló egy helyobjektumot biztosít az IOleControlSite::TransformCoords metódussal. A vezérlő először meghívja ezt a metódust a tároló ügyfélwebhelyén, hogy a koordinátáit a tároló megfelelő koordinátáivá alakítsa. Ezután átadhatja a konvertált koordinátákat a tárolónak.

A vezérlők meghívhatják IOleControlSite::LockInPlaceActive a tároló helyobjektumában, hogy megakadályozza, hogy a tároló lefokozhassa a vezérlőt a helyi aktív állapotból. A vezérlő ily módon történő lefokozásával a vezérlő inaktiválódik, és az ablaka megsemmisül, így ha a vezérlőnek egy ismert ideig fenn kell tartania az ablakot, meghívhatja LockInPlaceActive az állapotának garantálása érdekében.

ActiveX-vezérlők