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
CDocument
szá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 CDocItem
szá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 COleDocument
szá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 COleServerDoc
COleDocument
származnak , ezért ezek az osztályok öröklik az COleDocument
és CDocument
elérhető összes szolgáltatást .
A COleDocument
haszná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 GetNextClientItem
egy 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 GetNextItem
egy 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 GetNextServerItem
egy 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
, GetNextClientItem
vagy 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 CDocument
OnFileSendMail
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 COleServerItem
destruktorai 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