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


COleDocument osztály

A vizualizációk szerkesztését támogató OLE-dokumentumok alaposztálya.

Szintaxis

class COleDocument : public CDocument

Tagok

Nyilvános konstruktorok

Név Leírás
COleDocument::COleDocument Egy COleDocument objektumot hoz létre.

Nyilvános metódusok

Név Leírás
COleDocument::AddItem Hozzáad egy elemet a dokumentum által karbantartott elemek listájához.
COleDocument::ApplyPrintDevice Beállítja a nyomtatási céleszközt a dokumentum összes ügyféleleméhez.
COleDocument::EnableCompoundFile A dokumentumok tárolása OLE strukturált tároló fájlformátummal történik.
COleDocument::GetInPlaceActiveItem A jelenleg helyben aktív OLE-elemet adja vissza.
COleDocument::GetNextClientItem Lekéri a következő ügyfélelemet az iteráláshoz.
COleDocument::GetNextItem Lekéri a következő dokumentumelemet az iteráláshoz.
COleDocument::GetNextServerItem Lekéri a következő kiszolgálóelemet az iteráláshoz.
COleDocument::GetPrimarySelectedItem A dokumentum elsődleges kijelölt OLE elemét adja vissza.
COleDocument::GetStartPosition Lekéri a kezdeti pozíciót az iteráció megkezdéséhez.
COleDocument::HasBlankItems Üres elemeket keres a dokumentumban.
COleDocument::OnShowViews Akkor hívható meg, amikor a dokumentum láthatóvá vagy láthatatlanná válik.
COleDocument::RemoveItem Eltávolít egy elemet a dokumentum által karbantartott elemek listájából.
COleDocument::UpdateModifiedFlag A dokumentumot módosítottként jelöli meg, ha a tartalmazott OLE-elemek bármelyike módosult.

Védett metódusok

Név Leírás
COleDocument::OnEditChangeIcon Kezeli az eseményeket a Change Icon (Ikon módosítása) menüben.
COleDocument::OnEditConvert Egy beágyazott vagy csatolt objektum egyik típusból a másikba való konvertálását kezeli.
COleDocument::OnEditLinks A Szerkesztés menü Hivatkozások parancsában található eseményeket kezeli.
COleDocument::OnFileSendMail E-mailt küld a csatolt dokumentummal.
COleDocument::OnUpdateEditChangeIcon A keretrendszer meghívta, hogy frissítse a parancs felhasználói felületét az Ikon szerkesztése/módosítása menühöz.
COleDocument::OnUpdateEditLinksMenu A keretrendszer meghívta, hogy frissítse a parancs felhasználói felületét a Szerkesztés/Hivatkozások menühöz.
COleDocument::OnUpdateObjectVerbMenu A keretrendszer meghívta, hogy frissítse a parancs felhasználói felületét az Edit/ObjectName menühöz, valamint az Edit/ObjectNameparancsból elért Verb almenühöz.
COleDocument::OnUpdatePasteLinkMenu A keretrendszer meghívta, hogy frissítse a parancs felhasználói felületét a Speciális beillesztés menühöz.
COleDocument::OnUpdatePasteMenu A keretrendszer meghívta a Beillesztés menühöz tartozó parancs felhasználói felületének frissítéséhez.

Megjegyzések

COleDocument CDocumentszármazik, amely lehetővé teszi, hogy az OLE-alkalmazások a Microsoft Foundation osztálykönyvtár által biztosított dokumentum-/nézetarchitektúrát használják.

COleDocument a dokumentumokat CDocItem objektumok gyűjteményeként kezeli az OLE-elemek kezeléséhez. A tároló- és kiszolgálóalkalmazások is igényelnek ilyen architektúrát, mert a dokumentumaiknak OLE-elemeket kell tartalmazniuk. A COleServerItem és COleClientItem osztályai CDocItemszármaztatva kezelik az alkalmazások és az OLE-elemek közötti interakciókat.

Ha egyszerű tárolóalkalmazást ír, a dokumentumosztályt a COleDocumentszármaztathatja. Ha olyan tárolóalkalmazást ír, amely támogatja a dokumentumokban található beágyazott elemek csatolását, a dokumentumosztályt COleLinkingDoc. Ha kiszolgálóalkalmazást vagy kombinált tárolót/kiszolgálót ír, a dokumentumosztályt COleServerDoc. COleLinkingDoc és COleServerDocCOleDocumentszármaznak , ezért ezek az osztályok öröklik az COleDocument és CDocumentelérhető összes szolgáltatást .

A COleDocumenthasználatához származtatassunk belőle egy osztályt, és adjunk hozzá funkciókat az alkalmazás nem OLE-adatok, valamint beágyazott vagy csatolt elemek kezeléséhez. Ha CDocItem-származtatott osztályokat határoz meg az alkalmazás natív adatainak tárolásához, az COleDocument által meghatározott alapértelmezett implementációval tárolhatja az OLE- és a nem OLE-adatokat is. Saját adatstruktúrát is tervezhet a nem OLE-adatok tárolására az OLE-elemektől elkülönítve. További információt a tárolók : Összetett fájlokcímű cikkben talál.

CDocument támogatja a dokumentum e-mailben történő küldését, ha a levéltámogatás (MAPI) jelen van. COleDocument frissítette OnFileSendMail az összetett dokumentumok helyes kezeléséhez. További információ: MAPI és MAPI-támogatás az MFC.

Öröklési hierarchia

CObject

CCmdTarget

CDocument

COleDocument

Követelmények

fejléc: afxole.h

COleDocument::AddItem

A függvény meghívásával elemet vehet fel a dokumentumba.

virtual void AddItem(CDocItem* pItem);

Paraméterek

pItem
Mutasson a hozzáadni kívánt dokumentumelemre.

Megjegyzések

Nem kell explicit módon meghívnia ezt a függvényt, ha a COleClientItem vagy COleServerItem konstruktor meghívja, amely egy dokumentumra mutató mutatót fogad el.

COleDocument::ApplyPrintDevice

Hívja meg ezt a függvényt az alkalmazás tárolódokumentumában lévő összes beágyazott COleClientItem elem nyomtatási céleszközének módosításához.

BOOL ApplyPrintDevice(const DVTARGETDEVICE* ptd);
BOOL ApplyPrintDevice(const PRINTDLG* ppd);

Paraméterek

ptd
Mutasson egy DVTARGETDEVICE adatstruktúrára, amely információkat tartalmaz az új nyomtatási céleszközről. Null érték is lehet.

ppd
Mutasson egy PRINTDLG adatstruktúrára, amely információkat tartalmaz az új nyomtatási céleszközről. Null érték is lehet.

Visszaadott érték

Nonzero, ha a függvény sikeres volt; egyéb esetben 0.

Megjegyzések

Ez a függvény frissíti a nyomtatási céleszközt az összes elemhez, de nem frissíti a bemutató gyorsítótárát ezekhez az elemekhez. Egy elem bemutató-gyorsítótárának frissítéséhez hívja meg COleClientItem::UpdateLink.

A függvény argumentumai olyan információkat tartalmaznak, amelyeket az OLE a céleszköz azonosítására használ. A PRINTDLG struktúra olyan információkat tartalmaz, amelyeket a Windows a közös Nyomtatás párbeszédpanel inicializálásához használ. Miután a felhasználó bezárta a párbeszédpanelt, a Windows visszaadja az ebben a struktúrában kijelölt felhasználó adatait. A CPrintDialog objektum m_pd tagja egy PRINTDLG szerkezet.

További információ: PRINTDLG struktúra a Windows SDK-ban.

További információ: DVTARGETDEVICE struktúra a Windows SDK-ban.

COleDocument::COleDocument

Egy COleDocument objektumot hoz létre.

COleDocument();

COleDocument::EnableCompoundFile

Hívja meg ezt a függvényt, ha összetett fájlformátumban szeretné tárolni a dokumentumot.

void EnableCompoundFile(BOOL bEnable = TRUE);

Paraméterek

bEnable
Megadja, hogy az összetett fájlok támogatása engedélyezve van-e vagy le van-e tiltva.

Megjegyzések

Ezt strukturált tárolásnak is nevezik. Ezt a függvényt általában a COleDocument-származtatott osztály konstruktorától lehet meghívni. Az összetett dokumentumokról további információt a tárolók : Összetett fájlokcímű cikkben talál.

Ha nem hívja meg ezt a tagfüggvényt, a dokumentumok strukturálatlan ("lapos") fájlformátumban lesznek tárolva.

Ha egy dokumentum összetett fájltámogatása engedélyezve van vagy le van tiltva, a beállítás nem módosítható a dokumentum élettartama alatt.

COleDocument::GetInPlaceActiveItem

Hívja meg ezt a függvényt, hogy lekérje az aktuálisan aktivált OLE-elemet a keretablakban, amely a pWndáltal azonosított nézetet tartalmazza.

virtual COleClientItem* GetInPlaceActiveItem(CWnd* pWnd);

Paraméterek

pWnd
Mutasson a tárolódokumentumot megjelenítő ablakra.

Visszaadott érték

Mutató az egyetlen, helyben működő aktív OLE-elemre; NULL érték, ha jelenleg nincs "helyben aktív" állapotú OLE elem.

COleDocument::GetNextClientItem

Ezt a függvényt többször is meghívhatja a dokumentum összes ügyfélelemének eléréséhez.

COleClientItem* GetNextClientItem(POSITION& pos) const;

Paraméterek

pos
Hivatkozás a GetNextClientItemegy korábbi hívása által beállított POZÍCIÓ értékre; a kezdeti értéket a GetStartPosition tagfüggvény adja vissza.

Visszaadott érték

A dokumentum következő ügyfélelemére mutató mutató, vagy null értékű, ha nincs több ügyfélelem.

Megjegyzések

Minden hívás után a pos értéke be van állítva a dokumentum következő eleméhez, ami lehet, hogy nem ügyfélelem.

Példa

// pDoc points to a COleDocument object
POSITION pos = pDoc->GetStartPosition();
COleClientItem* pItem;
CString strType;
while ((pItem = pDoc->GetNextClientItem(pos)) != NULL)
{
   // Use pItem
   pItem->GetUserType(USERCLASSTYPE_FULL, strType);
   TRACE(strType);
}

COleDocument::GetNextItem

Ezt a függvényt többször is meghívhatja a dokumentum egyes elemeinek eléréséhez.

virtual CDocItem* GetNextItem(POSITION& pos) const;

Paraméterek

pos
Hivatkozás a GetNextItemegy korábbi hívása által beállított POZÍCIÓ értékre; a kezdeti értéket a GetStartPosition tagfüggvény adja vissza.

Visszaadott érték

Mutató a dokumentumelemre a megadott helyen.

Megjegyzések

Minden hívás után a pos értéke a dokumentum következő elemének POZÍCIÓ értékére van állítva. Ha a lekért elem a dokumentum utolsó eleme, a pos új értéke NULL.

Példa

// pDoc points to a COleDocument object
POSITION pos = pDoc->GetStartPosition();
CDocItem* pItem;
CString strType;
while (pos != NULL)
{
   pItem = pDoc->GetNextItem(pos);
   // Use pItem
   if (pItem->IsKindOf(RUNTIME_CLASS(COleClientItem)))
   {
      ((COleClientItem*)pItem)->GetUserType(USERCLASSTYPE_FULL, strType);
      TRACE(strType);
   }
}

COleDocument::GetNextServerItem

Ezt a függvényt többször is meghívhatja a dokumentum összes kiszolgálóelemének eléréséhez.

COleServerItem* GetNextServerItem(POSITION& pos) const;

Paraméterek

pos
Hivatkozás a GetNextServerItemegy korábbi hívása által beállított POZÍCIÓ értékre; a kezdeti értéket a GetStartPosition tagfüggvény adja vissza.

Visszaadott érték

A dokumentum következő kiszolgálóelemére mutató mutató, vagy null értékű, ha nincs több kiszolgálóelem.

Megjegyzések

Minden hívás után a pos értéke be van állítva a dokumentum következő eleméhez, amely lehet, hogy nem kiszolgálóelem.

Példa

// pDoc points to a COleDocument object
POSITION pos = pDoc->GetStartPosition();
COleServerItem* pItem;
while ((pItem = pDoc->GetNextServerItem(pos)) != NULL)
{
   // Use pItem
}

COleDocument::GetPrimarySelectedItem

A keretrendszer meghívta, hogy lekérje az aktuálisan kiválasztott OLE-elemet a megadott nézetben.

virtual COleClientItem* GetPrimarySelectedItem(CView* pView);

Paraméterek

pView
Mutasson a dokumentumot megjelenítő aktív nézetobjektumra.

Visszaadott érték

Mutató az egyetlen, kijelölt OLE elemhez; NULL érték, ha nincs kijelölve OLE-elem, vagy ha több elem van kijelölve.

Megjegyzések

Az alapértelmezett implementáció megkeresi a kijelölt elem OLE-elemeinek listáját, és egy mutatót ad vissza. Ha nincs kijelölve elem, vagy ha egynél több elem van kijelölve, a függvény NULL értéket ad vissza. A függvény működéséhez felül kell bírálnia a CView::IsSelected tagfüggvényt a nézetosztályban. Bírálja felül ezt a függvényt, ha saját módszerrel tárolja a tartalmazott OLE-elemeket.

COleDocument::GetStartPosition

Hívja meg ezt a függvényt a dokumentum első elemének pozíciójának lekéréséhez.

virtual POSITION GetStartPosition() const;

Visszaadott érték

POSITION érték, amely a dokumentum elemein keresztüli iterálás megkezdéséhez használható; NULL érték, ha a dokumentum nem tartalmaz elemeket.

Megjegyzések

Adja át a visszaadott értéket GetNextItem, GetNextClientItemvagy GetNextServerItem.

COleDocument::HasBlankItems

Hívja meg ezt a függvényt annak megállapításához, hogy a dokumentum tartalmaz-e üres elemeket.

BOOL HasBlankItems() const;

Visszaadott érték

Nem kötelező, ha a dokumentum üres elemeket tartalmaz; egyéb esetben 0.

Megjegyzések

Üres elem az, amelynek téglalapja üres.

COleDocument::OnEditChangeIcon

Megjeleníti az OLE Módosítás ikon párbeszédpanelt, és az aktuálisan kijelölt OLE elemet jelképező ikont a felhasználó által a párbeszédpanelen kiválasztott ikonra módosítja.

afx_msg void OnEditChangeIcon();

Megjegyzések

OnEditChangeIcon létrehoz és elindít egy COleChangeIconDialog Ikon módosítása párbeszédpanelt.

COleDocument::OnEditConvert

Megjeleníti az OLE Konvertálás párbeszédpanelt, és a párbeszédpanel felhasználói beállításainak megfelelően konvertálja vagy aktiválja az aktuálisan kijelölt OLE elemet.

afx_msg void OnEditConvert();

Megjegyzések

OnEditConvert létrehoz és elindít egy COleConvertDialog Konvertálás párbeszédpanelt.

Az átalakításra példa a Microsoft Word-dokumentumok WordPad-dokumentummá alakítása.

Megjeleníti az OLE Szerkesztés/Hivatkozások párbeszédpanelt.

afx_msg void OnEditLinks();

Megjegyzések

OnEditLinks létrehoz és elindít egy COleLinksDialog Hivatkozások párbeszédpanelt, amely lehetővé teszi a felhasználó számára a csatolt objektumok módosítását.

COleDocument::OnFileSendMail

Üzenet küldése a rezidens levelezési állomáson keresztül (ha van ilyen), mellékletként a dokumentummal.

afx_msg void OnFileSendMail();

Megjegyzések

OnFileSendMail meghívja OnSaveDocument, hogy szerializálja (mentse) a cím nélküli és módosított dokumentumokat egy ideiglenes fájlba, amelyet aztán e-mailben küld el. Ha a dokumentum nem lett módosítva, nincs szükség ideiglenes fájlra; a rendszer elküldi az eredetit. OnFileSendMail betölti MAPI32.DLL, ha még nincs betöltve.

A CDocumentOnFileSendMail implementálásától eltérően ez a függvény megfelelően kezeli az összetett fájlokat.

További információ: MAPI-témakörök és MAPI-támogatás MFC cikkekben.

COleDocument::OnShowViews

A keretrendszer meghívja ezt a függvényt a dokumentum láthatósági állapotának módosítása után.

virtual void OnShowViews(BOOL bVisible);

Paraméterek

bVisible
Azt jelzi, hogy a dokumentum láthatóvá vagy láthatatlanná vált-e.

Megjegyzések

A függvény alapértelmezett verziója nem tesz semmit. Felülbírálja, ha az alkalmazásnak speciális feldolgozást kell végeznie, amikor a dokumentum láthatósága megváltozik.

COleDocument::OnUpdateEditChangeIcon

A keretrendszer meghívta, hogy frissítse a Módosítás ikon parancsot a Szerkesztés menüben.

afx_msg void OnUpdateEditChangeIcon(CCmdUI* pCmdUI);

Paraméterek

pCmdUI
Egy CCmdUI szerkezetre mutató mutató, amely a frissítési parancsot létrehozó menüt jelöli. A frissítéskezelő meghívja a CCmdUI struktúra Enable tagfüggvényét pCmdUI keresztül a felhasználói felület frissítéséhez.

Megjegyzések

OnUpdateEditChangeIcon frissíti a parancs felhasználói felületét attól függően, hogy létezik-e érvényes ikon a dokumentumban. A függvény felülbírálása a viselkedés módosításához.

COleDocument::OnUpdateEditLinksMenu

A keretrendszer meghívta, hogy frissítse a Hivatkozások parancsot a Szerkesztés menüben.

afx_msg void OnUpdateEditLinksMenu(CCmdUI* pCmdUI);

Paraméterek

pCmdUI
Egy CCmdUI szerkezetre mutató mutató, amely a frissítési parancsot létrehozó menüt jelöli. A frissítéskezelő meghívja a CCmdUI struktúra Enable tagfüggvényét pCmdUI keresztül a felhasználói felület frissítéséhez.

Megjegyzések

A dokumentum első OLE elemétől kezdve OnUpdateEditLinksMenu hozzáfér az egyes elemekhez, ellenőrzi, hogy az elem hivatkozás-e, és ha hivatkozás, engedélyezi a Hivatkozások parancsot. A függvény felülbírálása a viselkedés módosításához.

COleDocument::OnUpdateObjectVerbMenu

A keretrendszer meghívta az ObjectName parancs frissítésére a Szerkesztés menüben, valamint a ObjectName parancsból elérhető Verb almenüt, ahol ObjectName a dokumentumban beágyazott OLE-objektum neve.

afx_msg void OnUpdateObjectVerbMenu(CCmdUI* pCmdUI);

Paraméterek

pCmdUI
Egy CCmdUI szerkezetre mutató mutató, amely a frissítési parancsot létrehozó menüt jelöli. A frissítéskezelő meghívja a CCmdUI struktúra Enable tagfüggvényét pCmdUI keresztül a felhasználói felület frissítéséhez.

Megjegyzések

OnUpdateObjectVerbMenu frissíti az ObjectName parancs felhasználói felületét attól függően, hogy létezik-e érvényes objektum a dokumentumban. Ha létezik objektum, a Szerkesztés menü ObjectName parancsa engedélyezve van. Ha ez a menüparancs van kiválasztva, megjelenik az Ige almenü. A Verb almenü tartalmazza az objektumhoz elérhető összes parancsot, például a Szerkesztést, a Tulajdonságokat stb. A függvény felülbírálása a viselkedés módosításához.

COleDocument::OnUpdatePasteLinkMenu

A keretrendszer meghívta annak meghatározására, hogy egy csatolt OLE-elem beilleszthető-e a vágólapról.

afx_msg void OnUpdatePasteLinkMenu(CCmdUI* pCmdUI);

Paraméterek

pCmdUI
Egy CCmdUI szerkezetre mutató mutató, amely a frissítési parancsot létrehozó menüt jelöli. A frissítéskezelő meghívja a CCmdUI struktúra Enable tagfüggvényét pCmdUI keresztül a felhasználói felület frissítéséhez.

Megjegyzések

A Speciális beillesztés menüparancs attól függően engedélyezve vagy letiltva van, hogy az elem beilleszthető-e a dokumentumba.

COleDocument::OnUpdatePasteMenu

A keretrendszer meghívta annak meghatározására, hogy egy beágyazott OLE-elem beilleszthető-e a vágólapról.

afx_msg void OnUpdatePasteMenu(CCmdUI* pCmdUI);

Paraméterek

pCmdUI
Egy CCmdUI szerkezetre mutató mutató, amely a frissítési parancsot létrehozó menüt jelöli. A frissítéskezelő meghívja a CCmdUI struktúra Enable tagfüggvényét pCmdUI keresztül a felhasználói felület frissítéséhez.

Megjegyzések

A Beillesztés menü parancs és gomb attól függően van engedélyezve vagy letiltva, hogy az elem beilleszthető-e a dokumentumba.

COleDocument::RemoveItem

A függvény meghívásával eltávolíthat egy elemet a dokumentumból.

virtual void RemoveItem(CDocItem* pItem);

Paraméterek

pItem
Mutasson az eltávolítandó dokumentumelemre.

Megjegyzések

Ezt a függvényt általában nem kell explicit módon meghívnia; COleClientItem és COleServerItemdestruktorai hívják.

COleDocument::UpdateModifiedFlag

Hívja meg ezt a függvényt, hogy a dokumentumot módosítottként jelölje meg, ha a benne foglalt OLE-elemek bármelyike módosult.

virtual void UpdateModifiedFlag();

Megjegyzések

Ez lehetővé teszi, hogy a keretrendszer a befejezés előtt kérje meg a felhasználót a dokumentum mentésére, még akkor is, ha a dokumentum natív adatai nem lettek módosítva.

Lásd még:

MFC-mintaTÁROLÓ-
MFC-minta MFCBIND
CDocument osztály
hierarchiadiagram