Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.
Ez a cikk összefoglalja a tárolók implementálásának eljárását, és más cikkekre mutat, amelyek részletesebb magyarázatokat nyújtanak a tárolók implementálásáról. Felsorol néhány választható OLE-funkciót is, amelyeket érdemes lehet implementálni, valamint az ezeket a funkciókat leíró cikkeket.
A CWinApp-alapú osztály előkészítése
Inicializálja az OLE-kódtárakat a
AfxOleInithívásával aInitInstancetagfüggvényben.Hívja
CDocTemplate::SetContainerInfoaInitInstance-ban a menü- és gyorsító billentyűk erőforrásainak hozzárendeléséhez, amikor a beágyazott elem helyben kerül aktiválásra. A témakörről további információt az Aktiválás című témakörben talál.
Ezek a funkciók automatikusan elérhetők, amikor az MFC alkalmazásvarázslóval hoz létre egy tárolóalkalmazást. Lásd : MFC EXE-program létrehozása.
A nézetosztály előkészítése
A kijelölt elemek nyomon követéséhez tartsa lenyomva a kijelölt elemekre mutató mutatót, illetve ha több kijelölést is támogat, a mutatókat tartalmazó listát. A
OnDrawfüggvénynek meg kell rajzolnia az összes OLE-elemet.A
IsSelectedfelülbírálása annak ellenőrzéséhez, hogy az átadott elem jelenleg ki van-e jelölve.Implementáljon egy üzenetkezelőt
OnInsertObjectaz Objektum beszúrása párbeszédpanel megjelenítéséhez.Implementáljon egy üzenetkezelőt
OnSetFocus, amely a fókuszt a nézetről egy helyi aktív OLE beágyazott elemre továbbítja.Implementáljon egy üzenetkezelőt
OnSize, amely tájékoztatja egy beágyazott OLE-elemet, hogy módosítania kell a téglalapját, hogy az tükrözze a benne található nézet méretének változását.
Mivel ezeknek a funkcióknak a megvalósítása jelentősen eltér az egyik alkalmazástól a következőig, az alkalmazásvarázsló csak egy alapszintű implementációt biztosít. Ezeket a függvényeket valószínűleg testre kell szabnia, hogy az alkalmazás megfelelően működjön. Erre példaként tekintse meg a CONTAINER-mintát .
Beágyazott és csatolt elemek kezelése
Osztályt származtat a COleClientItemből. Az osztály objektumai az OLE-dokumentumba beágyazott vagy ahhoz csatolt elemeket jelölik.
Írd felül a
OnChange,OnChangeItemPositionésOnGetItemPosition. Ezek a függvények kezelik a beágyazott és csatolt elemek méretezését, elhelyezését és módosítását.
Az alkalmazásvarázsló származtatja az osztályt az Ön számára, de valószínűleg felül kell írnia OnChange-t, és az előző eljárás 2. lépése szerint felsorolt többi függvényt. A csontváz-implementációkat a legtöbb alkalmazáshoz testre kell szabni, mert ezek a függvények alkalmazásonként eltérően vannak implementálva. Ilyen például a DRAWCLI és a CONTAINER MFC-minta.
Az OLE támogatásához több elemet kell hozzáadnia a tárolóalkalmazás menüszerkezetéhez. Ezekről további információt a Menük és erőforrások: Tároló hozzáadásai című témakörben talál.
A tárolóalkalmazásban az alábbi funkciók némelyikét is támogatnia kell:
Helyszíni aktiválás beágyazott elem szerkesztésekor.
További információ: Aktiválás.
OLE-elemek létrehozása egy kiszolgálóalkalmazás kijelölésének húzásával és elvetésével.
További információért lásd: OLE húzás és áthelyezés.
Beágyazott objektumokra vagy kombinált tároló-/kiszolgálóalkalmazásokra mutató hivatkozások.
További információ: Tárolók: Speciális funkciók.