Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
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
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.
COleDocument::OnEditLinks
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