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


COleLinkingDoc osztály

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.

Az OLE-tárolódokumentumok alaposztálya, amely támogatja a beágyazott elemekhez való csatolást.

Szemantika

class COleLinkingDoc : public COleDocument

Tagok

Nyilvános konstruktorok

Név Description
COleLinkingDoc::COleLinkingDoc Egy COleLinkingDoc objektumot hoz létre.

Nyilvános metódusok

Név Description
COleLinkingDoc::Regisztráció Regisztrálja a dokumentumot az OLE rendszer DLL-jeinél.
COleLinkingDoc::Visszavonás Visszavonja a dokumentum regisztrációját.

Védett metódusok

Név Description
COleLinkingDoc::OnFindEmbeddedItem Megkeresi a megadott beágyazott elemet.
COleLinkingDoc::OnGetLinkedItem Megkeresi a megadott csatolt elemet.

Megjegyzések

A beágyazott elemek csatolását támogató tárolóalkalmazásokat "hivatkozástárolónak" nevezzük. Az OCLIENT mintaalkalmazás egy hivatkozástároló példája.

Ha egy csatolt elem forrása egy másik dokumentum beágyazott eleme, a dokumentumot tartalmazó elemeket be kell tölteni a beágyazott elem szerkesztéséhez. Ezért egy hivatkozástárolót egy másik tárolóalkalmazásnak kell elindítania, amikor a felhasználó szerkeszteni szeretné a csatolt elem forrását. Az alkalmazásnak a COleTemplateServer osztályt is használnia kell, hogy programozott módon lehessen dokumentumokat létrehozni.

Ha a tárolót hivatkozástárolóvá szeretné tenni, a dokumentumosztályt a COleDocument helyett származtathatjaCOleLinkingDoc. A többi OLE-tárolóhoz hasonlóan az osztályt is meg kell terveznie az alkalmazás natív adatainak, valamint beágyazott vagy csatolt elemeinek tárolására. Emellett adatstruktúrát kell terveznie a natív adatok tárolásához. Ha -származtatott osztályt CDocItemhatároz meg az alkalmazás natív adataihoz, használhatja a natív adatok és az OLE-adatok tárolásához definiált COleDocument felületet.

Ha azt szeretné, hogy az alkalmazást programozott módon egy másik tároló indíthassa el, deklaráljon egy COleTemplateServer objektumot az alkalmazás CWinAppszármaztatott osztályának tagjaként:

class COleContainerApp : public CWinApp
{
protected:
   COleTemplateServer m_server;
   // remainder of class declaration omitted

InitInstance A -derived osztály tagfüggvényében CWinApphozzon létre egy dokumentumsablont, és adja meg a COleLinkingDoc-derived osztályt dokumentumosztályként:

// CMyLinkDoc is derived from COleLinkingDoc
CMultiDocTemplate* pDocTemplate = new CMultiDocTemplate(IDR_LINKDOCTYPE,
   RUNTIME_CLASS(CMyLinkDoc),
   RUNTIME_CLASS(CChildFrame),
   RUNTIME_CLASS(CMyLinkView));
if (!pDocTemplate)
return FALSE;
pDocTemplate->SetContainerInfo(IDR_OLECONTTYPE_CNTR_IP);
AddDocTemplate(pDocTemplate);

Csatlakoztassa az COleTemplateServer objektumot a dokumentumsablonokhoz az objektum tagfüggvényének ConnectTemplate meghívásával, és regisztrálja az összes osztályobjektumot az OLE rendszerben a következő hívással COleTemplateServer::RegisterAll:

m_server.ConnectTemplate(clsid, pDocTemplate, FALSE);
COleTemplateServer::RegisterAll();

A mintául CWinAppszolgáló -származtatott osztálydefiníciót és InitInstance -függvényt lásd: OCLIENT. H és OCLIENT. CPP az MFC-minta OCLIENT-ben.

További információ a használatrólCOleLinkingDoc: Tárolók: Tárolók és tárolók implementálása: Speciális funkciók.

Öröklési hierarchia

CObject

CCmdTarget

CDocument

COleDocument

COleLinkingDoc

Requirements

Fejléc: afxole.h

COleLinkingDoc::COleLinkingDoc

Létrehoz egy COleLinkingDoc objektumot az OLE rendszer DLL-jeivel való kommunikáció megkezdése nélkül.

COleLinkingDoc();

Megjegyzések

Meg kell hívnia a Register tagfüggvényt, hogy tájékoztassa az OLE-t arról, hogy a dokumentum meg van nyitva.

COleLinkingDoc::OnFindEmbeddedItem

A keretrendszer meghívta annak megállapítására, hogy a dokumentum tartalmaz-e beágyazott OLE-elemet a megadott névvel.

virtual COleClientItem* OnFindEmbeddedItem(LPCTSTR lpszItemName);

Paraméterek

lpszItemName
Mutasson a kért beágyazott OLE-elem nevére.

Visszaadott érték

Mutató a megadott elemre; NULL érték, ha az elem nem található.

Megjegyzések

Az alapértelmezett implementáció a megadott névvel rendelkező elemek beágyazott elemeinek listájában keres (a név-összehasonlítás megkülönbözteti a kis- és nagybetűk értékét). Felülbírálhatja ezt a függvényt, ha saját módszere van beágyazott OLE-elemek tárolására vagy elnevezésére.

COleLinkingDoc::OnGetLinkedItem

A keretrendszer meghívta, hogy ellenőrizze, hogy a dokumentum tartalmaz-e csatolt kiszolgálóelemet a megadott névvel.

virtual COleServerItem* OnGetLinkedItem(LPCTSTR lpszItemName);

Paraméterek

lpszItemName
Mutasson a kért csatolt OLE-elem nevére.

Visszaadott érték

Mutató a megadott elemre; NULL érték, ha az elem nem található.

Megjegyzések

Az alapértelmezett COleLinkingDoc implementáció mindig NULL értéket ad vissza. Ez a függvény felül van bírálva a származtatott osztályban COleServerDoc , hogy megkeresse az OLE-kiszolgáló elemeinek listáját a megadott névvel rendelkező csatolt elemben (a név-összehasonlítás megkülönbözteti a kis- és nagybetűk közötti különbséget). Bírálja felül ezt a függvényt, ha a csatolt kiszolgálóelemek tárolására vagy beolvasására saját módszert alkalmazott.

COleLinkingDoc::Regisztráció

Tájékoztatja az OLE rendszer DLL-jeit, hogy a dokumentum meg van nyitva.

BOOL Register(
    COleObjectFactory* pFactory,
    LPCTSTR lpszPathName);

Paraméterek

pFactory
Mutató egy OLE gyári objektumra (null értékű lehet).

lpszPathName
Mutasson a tárolódokumentum teljes elérési útjára.

Visszaadott érték

Nem érvényes, ha a dokumentum sikeresen regisztrálva van; egyéb esetben 0.

Megjegyzések

Hívja meg ezt a függvényt egy elnevezett fájl létrehozásakor vagy megnyitásakor, hogy regisztrálja a dokumentumot az OLE rendszer DLL-eivel. Nem szükséges meghívni ezt a függvényt, ha a dokumentum beágyazott elemet jelöl.

Ha az alkalmazásban használjaCOleTemplateServer, Register a rendszer meghívja Önt COleLinkingDocaz , OnOpenDocumentés OnSaveDocument.OnNewDocument

COleLinkingDoc::Visszavonás

Tájékoztatja az OLE rendszer DLL-jeit, hogy a dokumentum már nincs megnyitva.

void Revoke();

Megjegyzések

Hívja meg ezt a függvényt, hogy visszavonja a dokumentum regisztrációját az OLE rendszer DLL-jével.

Ezt a függvényt egy elnevezett fájl bezárásakor érdemes meghívni, de általában nem kell közvetlenül meghívnia. Revokeaz , , és . implementációja OnCloseDocumentOnNewDocumenthívja meg ÖntCOleLinkingDoc.OnSaveDocumentOnOpenDocument

Lásd még

MFC-minta OCLIENT
COleDocument osztály
hierarchiadiagram
CDocTemplate osztály