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.
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
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