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.
Biztosítja a kiszolgálói felületet az OLE-elemekhez.
Szemantika
class COleServerItem : public CDocItem
Tagok
Védett konstruktorok
| Név | Description |
|---|---|
| COleServerItem::COleServerItem | Egy COleServerItem objektumot hoz létre. |
Nyilvános metódusok
| Név | Description |
|---|---|
| COleServerItem::AddOtherClipboardData | Bemutató- és konvertálási formátumokat helyez el egy COleDataSource objektumban. |
| COleServerItem::CopyToClipboard | Másolja az elemet a vágólapra. |
| COleServerItem::D oDragDrop | Húzási műveletet hajt végre. |
| COleServerItem::GetClipboardData | Lekéri az adatforrást az adatátvitelhez (húzással vagy vágólaptal). |
| COleServerItem::GetDocument | Az elemet tartalmazó kiszolgálódokumentumot adja vissza. |
| COleServerItem::GetEmbedSourceData | Lekéri egy OLE-elem CF_EMBEDSOURCE adatait. |
| COleServerItem::GetItemName | Az elem nevét adja vissza. Csak csatolt elemekhez használható. |
| COleServerItem::GetLinkSourceData | Lekéri egy OLE-elem CF_LINKSOURCE adatait. |
| COleServerItem::GetObjectDescriptorData | Lekéri egy OLE-elem CF_OBJECTDESCRIPTOR adatait. |
| COleServerItem::IsConnected | Azt jelzi, hogy az elem jelenleg aktív tárolóhoz van-e csatolva. |
| COleServerItem::IsLinkedItem | Azt jelzi, hogy az elem csatolt OLE-elemet jelöl-e. |
| COleServerItem::NotifyChanged | Automatikus hivatkozásfrissítéssel frissíti az összes tárolót. |
| COleServerItem::OnDoVerb | Egy ige végrehajtására van meghívva. |
| COleServerItem::OnDraw | Akkor hívja meg a rendszer, amikor a tároló kéri az elem lehívását; implementálásra van szükség. |
| COleServerItem::OnDrawEx | Speciális elemrajzot kért. |
| COleServerItem::OnGetClipboardData | A keretrendszer meghívta, hogy lekérje a vágólapra másolandó adatokat. |
| COleServerItem::OnGetExtent | A keretrendszer meghívta az OLE-elem méretét. |
| COleServerItem::OnInitFromData | A keretrendszer meghívta, hogy inicializáljon egy OLE-elemet a megadott adatátviteli objektum tartalmával. |
| COleServerItem::OnQueryUpdateItems | Meghívva annak meghatározására, hogy a csatolt elemeknek frissítésre van-e szükségük. |
| COleServerItem::OnRenderData | Késleltetett renderelés részeként kéri le az adatokat. |
| COleServerItem::OnRenderFileData | Adatokat kér le egy CFile objektumba a késleltetett renderelés részeként. |
| COleServerItem::OnRenderGlobalData | Adatokat kér le egy HGLOBAL-fájlba a késleltetett renderelés részeként. |
| COleServerItem::OnSetColorScheme | Az elem színséma beállításához hívva. |
| COleServerItem::OnSetData | Az elem adatainak beállításához hívva. |
| COleServerItem::OnSetExtent | A keretrendszer meghívta az OLE-elem méretének beállításához. |
| COleServerItem::OnUpdate | Akkor hívható meg, ha a dokumentum egy része megváltozik, amelyben az elem szerepel. |
| COleServerItem::OnUpdateItems | A kiszolgálói dokumentum összes elemének bemutató-gyorsítótárának frissítésére van meghívva. |
| COleServerItem::SetItemName | Beállítja az elem nevét. Csak csatolt elemekhez használható. |
Védett metódusok
| Név | Description |
|---|---|
| COleServerItem::GetDataSource | Lekéri a konvertálási formátumok tárolásához használt objektumot. |
| COleServerItem::OnHide | A keretrendszer meghívta, hogy elrejtse az OLE-elemet. |
| COleServerItem::OnOpen | A keretrendszer meghívta, hogy megjelenítse az OLE-elemet a saját felső szintű ablakában. |
| COleServerItem::OnShow | Akkor hívja meg a rendszer, amikor a tároló az elem megjelenítését kéri. |
Nyilvános adatok tagjai
| Név | Description |
|---|---|
| COleServerItem::m_sizeExtent | Tájékoztatja a kiszolgálót arról, hogy az OLE-elem mekkora része látható. |
Megjegyzések
A csatolt elemek egy kiszolgálói dokumentum egy részét vagy egészét jelölhetik. A beágyazott elemek mindig egy teljes kiszolgálódokumentumot jelölnek.
Az COleServerItem osztály számos felülbírálható tagfüggvényt határoz meg, amelyeket az OLE rendszer dinamikus csatolású kódtárai (DLL-ek) hívnak meg, általában a tárolóalkalmazásból érkező kérésekre válaszolva. Ezek a tagfüggvények lehetővé teszik, hogy a tárolóalkalmazás közvetetten, különböző módokon manipulálja az elemet, például megjelenítse, végrehajtsa az igesorait, vagy különböző formátumokban lekérte az adatokat.
A használathoz COleServerItemszármaztathat belőle egy osztályt, és implementálhatja az OnDraw és a Szerializálás tagfüggvényeket. A OnDraw függvény egy elem metafájl-ábrázolását biztosítja, amely lehetővé teszi, hogy megjelenjen, amikor egy tárolóalkalmazás megnyit egy összetett dokumentumot. A Serialize függvény CObject egy elem natív megjelenítését biztosítja, lehetővé téve a beágyazott elemek átvitelét a kiszolgáló és a tárolóalkalmazások között.
Az OnGetExtent megadja az elem természetes méretét a tárolónak, lehetővé téve a tároló számára az elem méretének beállítását.
A kiszolgálókról és a kapcsolódó témakörökről további információt a Tárolók: Speciális szolgáltatások című cikkben talál a Kiszolgálók: Kiszolgáló implementálása és a "Tároló/kiszolgálóalkalmazás létrehozása" című cikkben.
Öröklési hierarchia
COleServerItem
Requirements
Fejléc: afxole.h
COleServerItem::AddOtherClipboardData
A függvény meghívásával helyezze el az OLE-elem bemutató- és konvertálási formátumát a megadott COleDataSource objektumban.
void AddOtherClipboardData(COleDataSource* pDataSource);
Paraméterek
pDataSource
Mutasson arra az COleDataSource objektumra, amelyben az adatokat el kell helyezni.
Megjegyzések
Az onDraw tagfüggvényt implementálva kell megadnia az elem bemutatóformátumát (metafájlképét). Más konvertálási formátumok támogatásához regisztrálja őket a GetDataSource által visszaadott COleDataSource objektummal, és felülbírálja az OnRenderData tagfüggvényt, hogy az adatokat a támogatni kívánt formátumokban adja meg.
COleServerItem::COleServerItem
Létrehoz egy COleServerItem objektumot, és hozzáadja azt a kiszolgálódokumentum dokumentumelem-gyűjteményéhez.
COleServerItem(
COleServerDoc* pServerDoc,
BOOL bAutoDelete);
Paraméterek
pServerDoc
Mutasson az új elemet tartalmazó dokumentumra.
bAutoDelete
Jelző, amely azt jelzi, hogy az objektum törölhető-e, ha egy hivatkozás ki van adva. Állítsa ezt HAMIS értékre, ha az COleServerItem objektum a dokumentum adatainak szerves része, amelyet törölnie kell. Állítsa ezt IGAZ értékre, ha az objektum egy másodlagos struktúra, amellyel azonosíthatja a dokumentum adatainak egy tartományát, amelyet a keretrendszer törölhet.
COleServerItem::CopyToClipboard
Hívja meg ezt a függvényt az OLE elem vágólapra másolásához.
void CopyToClipboard(BOOL bIncludeLink = FALSE);
Paraméterek
bIncludeLink
Állítsa ezt IGAZ értékre, ha a csatolási adatokat a vágólapra kell másolni. Állítsa ezt HAMIS értékre, ha a kiszolgálóalkalmazás nem támogatja a hivatkozásokat.
Megjegyzések
A függvény az OnGetClipboardData tagfüggvény használatával hoz létre egy COleDataSource objektumot, amely az OLE-elem adatait tartalmazza a támogatott formátumokban. A függvény ezután a COleDataSourceCOleDataSource::SetClipboard függvénnyel helyezi el az objektumot a vágólapon. Az COleDataSource objektum tartalmazza az elem natív adatait és CF_METAFILEPICT formátumú megjelenítését, valamint a támogatott konverziós formátumok adatait. A tagfüggvény működéséhez szerializálást és OnDraw-t kell implementálnia.
COleServerItem::D oDragDrop
Hívja meg a DoDragDrop tagfüggvényt húzási művelet végrehajtásához.
DROPEFFECT DoDragDrop(
LPCRECT lpRectItem,
CPoint ptOffset,
BOOL bIncludeLink = FALSE,
DWORD dwEffects = DROPEFFECT_COPY | DROPEFFECT_MOVE,
LPCRECT lpRectStartDrag = NULL);
Paraméterek
lpRectItem
Az elem téglalapja a képernyőn képpontban, az ügyfélterülethez viszonyítva.
ptOffset
A lpItemRect eltolása, ahol az egér pozíciója a húzás idején volt.
bIncludeLink
Állítsa ezt IGAZ értékre, ha a csatolási adatokat a vágólapra kell másolni. Állítsa HAMIS értékre, ha az alkalmazás nem támogatja a hivatkozásokat.
dwEffects
Meghatározza azokat az effektusokat, amelyeket a húzási forrás engedélyez az húzási műveletben (a Másolás, áthelyezés és csatolás kombinációját).
lpRectStartDrag
Mutasson arra a téglalapra, amely meghatározza a húzás tényleges indításának helyét. További információkért lásd a következő Megjegyzések szakaszt.
Visszaadott érték
A DROPEFFECT enumerálásából származó érték. Ha DROPEFFECT_MOVE, az eredeti adatokat el kell távolítani.
Megjegyzések
A húzási művelet nem indul el azonnal. Megvárja, amíg az egérmutató elhagyja az lpRectStartDrag által megadott téglalapot, vagy amíg egy megadott számú ezredmásodperc el nem telik. Ha az lpRectStartDrag értéke NULL, a rendszer egy alapértelmezett téglalapot használ, hogy az egérmutató egy képpont mozgatásakor elinduljon.
A késleltetési időt egy beállításkulcs-beállítás határozza meg. A késleltetési időt a CWinApp::WriteProfileString vagy a CWinApp::WriteProfileInt meghívásával módosíthatja. Ha nem adja meg a késleltetési időt, a rendszer 200 ezredmásodperc alapértelmezett értéket használ. Az húzási késleltetési idő a következőképpen lesz tárolva:
A Windows NT húzási késleltetési ideje a \Windows\DragDelay HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\NT\CurrentVersion\IniFileMapping\win.initárolja.
A Windows 3.x húzási késleltetési ideje a WIN-ben van tárolva. INI-fájl, a [Windows} szakasz alatt.
A Windows 95/98 húzza a késleltetési időt a WIN gyorsítótárazott verziójában tárolja. INI.
További információ az húzással kapcsolatos késleltetési információk beállításjegyzékben vagy a beállításjegyzékben való tárolásáról. INI-fájl: WriteProfileString a Windows SDK-ban.
COleServerItem::GetClipboardData
Hívja meg ezt a függvényt, hogy töltse ki a megadott COleDataSource objektumot a vágólapra másolt összes adattal, ha a CopyToClipboard nevet használja (ugyanezek az adatok a DoDragDrop meghívása esetén is át lesznek adva).
void GetClipboardData(
COleDataSource* pDataSource,
BOOL bIncludeLink = FALSE,
LPPOINT lpOffset = NULL,
LPSIZE lpSize = NULL);
Paraméterek
pDataSource
Mutasson arra az COleDataSource objektumra, amely minden támogatott formátumban megkapja az OLE-elem adatait.
bIncludeLink
IGAZ, ha a csatolási adatokat a vágólapra kell másolni. HAMIS, ha a kiszolgálóalkalmazás nem támogatja a hivatkozásokat.
lpOffset
Az egérmutató eltolása képpontban az objektum forrásától.
lpSize
Az objektum mérete képpontban.
Megjegyzések
Ez a függvény meghívja a GetEmbedSourceData tagfüggvényt az OLE elem natív adatainak lekéréséhez, és meghívja az AddOtherClipboardData tagfüggvényt a bemutató formátum és a támogatott konvertálási formátumok lekéréséhez. Ha a bIncludeLink ÉRTÉKE IGAZ, a függvény a GetLinkSourceData-t is meghívja az elem hivatkozási adatainak lekéréséhez.
Felülbírálja ezt a függvényt, ha a formátumokat az COleDataSource objektumban a megadott CopyToClipboardformátumok elé vagy mögé szeretné helyezni.
COleServerItem::GetDataSource
Hívja meg ezt a függvényt a kiszolgálóalkalmazás által támogatott konvertálási formátumok tárolásához használt COleDataSource objektum lekéréséhez.
COleDataSource* GetDataSource();
Visszaadott érték
A konvertálási COleDataSource formátumok tárolásához használt objektumra mutató mutató.
Megjegyzések
Ha azt szeretné, hogy a kiszolgálóalkalmazás különböző formátumban kínáljon adatokat az adatátviteli műveletek során, regisztrálja ezeket a formátumokat a COleDataSource függvény által visszaadott objektummal. Ha például az OLE elem CF_TEXT ábrázolását szeretné megadni a vágólaphoz vagy a húzási műveletekhez, akkor a formátumot a függvény által visszaadott objektummal COleDataSource regisztrálja, majd felülbírálja a OnRenderXxxData tagfüggvényt az adatok megadásához.
COleServerItem::GetDocument
Hívja meg ezt a függvényt, hogy mutatót kapjon az elemet tartalmazó dokumentumhoz.
COleServerDoc* GetDocument() const;
Visszaadott érték
Mutató az elemet tartalmazó dokumentumra; NULL érték, ha az elem nem része a dokumentumnak.
Megjegyzések
Ez lehetővé teszi a konstruktor számára argumentumként COleServerItem átadott kiszolgálói dokumentum elérését.
COleServerItem::GetEmbedSourceData
Hívja meg ezt a függvényt egy OLE-elem CF_EMBEDSOURCE adatainak lekéréséhez.
void GetEmbedSourceData(LPSTGMEDIUM lpStgMedium);
Paraméterek
lpStgMedium
Mutasson arra az STGMEDIUM-struktúrára , amely megkapja az OLE elem CF_EMBEDSOURCE adatait.
Megjegyzések
Ez a formátum tartalmazza az elem natív adatait. Ahhoz, hogy a függvény megfelelően működjön, végre kell hajtania a Serialize tagfüggvényt.
Az eredmény ezután hozzáadható egy adatforráshoz a COleDataSource::CacheData használatával. Ezt a függvényt a COleServerItem automatikusan meghívja::OnGetClipboardData.
További információ: STGMEDIUM a Windows SDK-ban.
COleServerItem::GetItemName
Hívja meg ezt a függvényt az elem nevének lekéréséhez.
const CString& GetItemName() const;
Visszaadott érték
A cikk neve.
Megjegyzések
Ezt a függvényt általában csak csatolt elemek esetén hívja meg.
COleServerItem::GetLinkSourceData
Hívja meg ezt a függvényt egy OLE-elem CF_LINKSOURCE adatainak lekéréséhez.
BOOL GetLinkSourceData(LPSTGMEDIUM lpStgMedium);
Paraméterek
lpStgMedium
Mutasson arra az STGMEDIUM-struktúrára , amely megkapja az OLE elem CF_LINKSOURCE adatait.
Visszaadott érték
Nonzero, ha sikeres; egyéb esetben 0.
Megjegyzések
Ez a formátum tartalmazza az OLE elem típusát leíró CLSID azonosítót és az OLE-elemet tartalmazó dokumentum megkereséséhez szükséges információkat.
Az eredmény ezután hozzáadható egy adatforráshoz a COleDataSource::CacheData használatával. Ezt a függvényt az OnGetClipboardData automatikusan meghívja.
További információ: STGMEDIUM a Windows SDK-ban.
COleServerItem::GetObjectDescriptorData
Hívja meg ezt a függvényt egy OLE-elem CF_OBJECTDESCRIPTOR adatainak lekéréséhez.
void GetObjectDescriptorData(
LPPOINT lpOffset,
LPSIZE lpSize,
LPSTGMEDIUM lpStgMedium);
Paraméterek
lpOffset
Az egérgomb eltolása az OLE elem bal felső sarkából. Null érték is lehet.
lpSize
Az OLE elem mérete. Null érték is lehet.
lpStgMedium
Mutasson arra az STGMEDIUM-struktúrára , amely megkapja az OLE elem CF_OBJECTDESCRIPTOR adatait.
Megjegyzések
Az információt az STGMEDIUMlpStgMedium által mutatott struktúrába másolja. Ez a formátum tartalmazza a Speciális beillesztés párbeszédpanelhez szükséges információkat.
További információ: STGMEDIUM a Windows SDK-ban.
COleServerItem::IsConnected
Hívja meg ezt a függvényt annak megtekintéséhez, hogy az OLE elem csatlakoztatva van-e.
BOOL IsConnected() const;
Visszaadott érték
Nemzero, ha az elem csatlakoztatva van; egyéb esetben 0.
Megjegyzések
Az OLE-elemek akkor tekinthetők összekapcsoltnak, ha egy vagy több tároló hivatkozik az elemre. Egy elem akkor csatlakozik, ha a hivatkozási száma 0-nál nagyobb, vagy beágyazott elem.
COleServerItem::IsLinkedItem
Hívja meg ezt a függvényt annak megtekintéséhez, hogy az OLE elem csatolt elem-e.
BOOL IsLinkedItem() const;
Visszaadott érték
Nem érvényes, ha az elem csatolt elem; egyéb esetben 0.
Megjegyzések
A rendszer csatol egy elemet, ha az elem érvényes, és nem szerepel a dokumentum beágyazott elemeinek listájában. Előfordulhat, hogy egy csatolt elem csatlakoztatva van egy tárolóhoz.
Gyakori, hogy ugyanazt az osztályt használja a csatolt és a beágyazott elemekhez is.
IsLinkedItem Lehetővé teszi, hogy a csatolt elemek másképp viselkedjenek, mint a beágyazott elemek, bár a kód sokszor gyakori.
COleServerItem::m_sizeExtent
Ez a tag közli a kiszolgálóval, hogy az objektum mekkora része látható a tárolódokumentumban.
CSize m_sizeExtent;
Megjegyzések
Az OnSetExtent alapértelmezett implementációja beállítja ezt a tagot.
COleServerItem::NotifyChanged
A függvény meghívása a csatolt elem módosítása után.
void NotifyChanged(DVASPECT nDrawAspect = DVASPECT_CONTENT);
Paraméterek
nDrawAspect
A DVASPECT enumerálásából származó érték, amely azt jelzi, hogy az OLE elem mely eleme módosult. Ez a paraméter a következő értékek bármelyikével rendelkezhet:
DVASPECT_CONTENT Elem úgy van ábrázolva, hogy beágyazott objektumként jelenjen meg a tárolóban.
DVASPECT_THUMBNAIL Elem "miniatűr" ábrázolásban jelenik meg, hogy megjeleníthető legyen egy böngészési eszközben.
DVASPECT_ICON elemet egy ikon jelöli.
DVASPECT_DOCPRINT Elem úgy jelenik meg, mintha a Fájl menü Nyomtatás parancsával lett volna kinyomtatva.
Megjegyzések
Ha egy tárolóelem automatikus hivatkozással van csatolva a dokumentumhoz, az elem frissül a módosításoknak megfelelően. A Microsoft Foundation osztálykönyvtárával írt tárolóalkalmazásokban a COleClientItem::OnChange meghívása válaszként történik.
COleServerItem::OnDoVerb
A keretrendszer meghívta a megadott igét.
virtual void OnDoVerb(LONG iVerb);
Paraméterek
iVerb
A végrehajtandó igét adja meg. Az alábbiak bármelyike lehet:
| Érték | Meaning | Szimbólum |
|---|---|---|
| 0 | Elsődleges ige | OLEIVERB_PRIMARY |
| 1 | Másodlagos ige | (Nincs) |
| - 1 | Elem megjelenítése szerkesztéshez | OLEIVERB_SHOW |
| - 2 | Elem szerkesztése külön ablakban | OLEIVERB_OPEN |
| - 3 | Elem elrejtése | OLEIVERB_HIDE |
A -1 érték általában egy másik ige aliasa. Ha a megnyitott szerkesztés nem támogatott, -2 hatása megegyezik a -1-ével. További értékekért lásd: IOleObject::D oVerb a Windows SDK-ban.
Megjegyzések
Ha a tárolóalkalmazás a Microsoft Foundation osztálykönyvtárával lett megírva, a függvény a COleClientItem::Activate member függvény meghívásakor COleClientItem lesz meghívva. Az alapértelmezett implementáció meghívja az OnShow tagfüggvényt, ha az elsődleges igét vagy OLEIVERB_SHOW meg van adva, az OnOpen parancsot, ha a másodlagos igét vagy OLEIVERB_OPEN van megadva, és az OnHide függvényt, ha OLEIVERB_HIDE van megadva. Az alapértelmezett implementálási hívások OnShow , ha az iVerb nem tartozik a fent felsorolt igék közé.
Bírálja felül ezt a függvényt, ha az elsődleges ige nem jeleníti meg az elemet. Ha például az elem egy hangrögzítés, és az elsődleges ige a Lejátszás, akkor nem kell megjelenítenie a kiszolgálóalkalmazást az elem lejátszásához.
További információ: IOleObject::D oVerb a Windows SDK-ban.
COleServerItem::OnDraw
A keretrendszer meghívta, hogy az OLE-elemet metafájlba renderelje.
virtual BOOL OnDraw(
CDC* pDC,
CSize& rSize) = 0;
Paraméterek
Pdc
Egy mutató arra a CDC-objektumra , amelyre az elemet meg szeretné rajzolni. A megjelenítési környezet automatikusan csatlakozik az attribútummegjelenítési környezethez, így attribútumfüggvényeket hívhat meg, bár ez eszközspecifikussá tenné a metafájlt.
rSize
Méret, HIMETRIC egységekben, amelyben a metafájlt meg kell rajzolni.
Visszaadott érték
Nonzero, ha az elemet sikeresen megrajzolták; egyéb esetben 0.
Megjegyzések
Az OLE elem metafájl-ábrázolása az elem tárolóalkalmazásban való megjelenítésére szolgál. Ha a tárolóalkalmazás a Microsoft Foundation osztálykönyvtárával lett megírva, a metafájlt a megfelelő COleClientItem objektum Rajz tagfüggvénye használja. Nincs alapértelmezett implementáció. Felül kell bírálnia ezt a függvényt, hogy az elemet a megadott eszközkörnyezetbe húzza.
COleServerItem::OnDrawEx
A keretrendszer meghívja az összes rajzot.
virtual BOOL OnDrawEx(
CDC* pDC,
DVASPECT nDrawAspect,
CSize& rSize);
Paraméterek
Pdc
Egy mutató arra a CDC-objektumra , amelyre az elemet meg szeretné rajzolni. A tartományvezérlő automatikusan csatlakozik a DC attribútumhoz, így attribútumfüggvényeket hívhat meg, bár ezzel eszközspecifikussá tenné a metafájlt.
nDrawAspect
A DVASPECT enumerálásából származó érték. Ez a paraméter a következő értékek bármelyikével rendelkezhet:
DVASPECT_CONTENT Elem úgy van ábrázolva, hogy beágyazott objektumként jelenjen meg a tárolóban.
DVASPECT_THUMBNAIL Elem "miniatűr" ábrázolásban jelenik meg, hogy megjeleníthető legyen egy böngészési eszközben.
DVASPECT_ICON elemet egy ikon jelöli.
DVASPECT_DOCPRINT Elem úgy jelenik meg, mintha a Fájl menü Nyomtatás parancsával lett volna kinyomtatva.
rSize
Az elem mérete HIMETRIC egységekben.
Visszaadott érték
Nonzero, ha az elemet sikeresen megrajzolták; egyéb esetben 0.
Megjegyzések
Az alapértelmezett implementáció akkor hívja meg a hívásokat OnDraw , ha a DVASPECT egyenlő DVASPECT_CONTENT; ellenkező esetben sikertelen.
A függvény felülbírálása a bemutatóadatok DVASPECT_CONTENT, például DVASPECT_ICON vagy DVASPECT_THUMBNAIL megjelenítéséhez.
COleServerItem::OnGetClipboardData
A keretrendszer meghívta egy COleDataSource objektum lekérésére, amely tartalmazza az összes adatot, amelyet a CopyToClipboard tagfüggvény hívása a vágólapra helyezne.
virtual COleDataSource* OnGetClipboardData(
BOOL bIncludeLink,
LPPOINT lpOffset,
LPSIZE lpSize);
Paraméterek
bIncludeLink
Állítsa ezt IGAZ értékre, ha a csatolási adatokat a vágólapra kell másolni. Állítsa ezt HAMIS értékre, ha a kiszolgálóalkalmazás nem támogatja a hivatkozásokat.
lpOffset
Az egérmutató eltolása az objektum forrásától képpontban.
lpSize
Az objektum mérete képpontban.
Visszaadott érték
Mutató a vágólap adatait tartalmazó COleDataSource-objektumra .
Megjegyzések
A függvény alapértelmezett implementációja a GetClipboardData meghívása.
COleServerItem::OnGetExtent
A keretrendszer meghívta az OLE-elem méretét HIMETRIC mértékegységben.
virtual BOOL OnGetExtent(
DVASPECT nDrawAspect,
CSize& rSize);
Paraméterek
nDrawAspect
Annak az OLE-elemnek a aspektusát adja meg, amelynek a határait le kell kérni. Ez a paraméter a következő értékek bármelyikével rendelkezhet:
DVASPECT_CONTENT Elem úgy van ábrázolva, hogy beágyazott objektumként jelenjen meg a tárolóban.
DVASPECT_THUMBNAIL Elem "miniatűr" ábrázolásban jelenik meg, hogy megjeleníthető legyen egy böngészési eszközben.
DVASPECT_ICON elemet egy ikon jelöli.
DVASPECT_DOCPRINT Elem úgy jelenik meg, mintha a Fájl menü Nyomtatás parancsával lett volna kinyomtatva.
rSize
Hivatkozás egy CSize olyan objektumra, amely megkapja az OLE elem méretét.
Visszaadott érték
Nonzero, ha sikeres; egyéb esetben 0.
Megjegyzések
Ha a tárolóalkalmazás a Microsoft Foundation osztálytárával lett megírva, akkor a rendszer ezt a függvényt hívja meg a megfelelő COleClientItem objektum GetExtent tagfüggvényének meghívásakor. Az alapértelmezett implementáció nem végez semmit. Ezt saját maga kell megvalósítania. Bírálja felül ezt a függvényt, ha speciális feldolgozást szeretne végezni az OLE-elem méretére vonatkozó kérések kezelésekor.
COleServerItem::OnHide
A keretrendszer meghívta, hogy elrejtse az OLE-elemet.
virtual void OnHide();
Megjegyzések
Az alapértelmezett hívások COleServerDoc::OnShowDocument( FALSE ). A függvény arról is értesíti a tárolót, hogy az OLE-elem el lett rejtve. Bírálja felül ezt a függvényt, ha speciális feldolgozást szeretne végrehajtani egy OLE-elem elrejtésekor.
COleServerItem::OnInitFromData
A keretrendszer meghívta, hogy inicializáljon egy OLE-elemet a pDataObject tartalmával.
virtual BOOL OnInitFromData(
COleDataObject* pDataObject,
BOOL bCreation);
Paraméterek
pDataObject
Mutasson egy OLE-adatobjektumra, amely különböző formátumú adatokat tartalmaz az OLE-elem inicializálásához.
bCreation
IGAZ, ha a függvény egy tárolóalkalmazás által újonnan létrehozott OLE-elem inicializálására van meghívva. HAMIS, ha a függvény egy már meglévő OLE-elem tartalmának cseréjére van meghívva.
Visszaadott érték
Nonzero, ha sikeres; egyéb esetben 0.
Megjegyzések
Ha a bCreation ÉRTÉKE IGAZ, akkor a függvény akkor lesz meghívva, ha egy tároló az aktuális kijelölés alapján implementálja az Új objektum beszúrása parancsot. A kiválasztott adatok az új OLE-elem létrehozásakor lesznek felhasználva. Ha például kijelöl egy cellatartományt egy számolótáblában, majd az Új objektum beszúrása paranccsal létrehoz egy diagramot a kijelölt tartomány értékei alapján. Az alapértelmezett implementáció nem végez semmit. Bírálja felül ezt a függvényt, hogy elfogadható formátumot válasszon a pDataObject által kínáltak közül, és inicializálja az OLE elemet a megadott adatok alapján. Ez egy speciális felülírható.
További információ: IOleObject::InitFromData a Windows SDK-ban.
COleServerItem::OnOpen
A keretrendszer meghívta, hogy az OLE-elemet a kiszolgálóalkalmazás egy külön példányában jelenítse meg ahelyett, hogy a helyükön állna.
virtual void OnOpen();
Megjegyzések
Az alapértelmezett implementáció aktiválja az OLE elemet tartalmazó dokumentumot megjelenítő első keretablakot; ha az alkalmazás minikiszolgáló, az alapértelmezett implementáció a főablakot jeleníti meg. A függvény arról is értesíti a tárolót, hogy az OLE-elem meg lett nyitva.
Bírálja felül ezt a függvényt, ha speciális feldolgozást szeretne végezni egy OLE-elem megnyitásakor. Ez különösen gyakori az olyan csatolt elemeknél, amelyek megnyitásakor a kijelölést a hivatkozásra szeretné állítani.
További információ: IOleClientSite::OnShowWindow a Windows SDK-ban.
COleServerItem::OnQueryUpdateItems
A keretrendszer meghívta, hogy megállapítsa, hogy az aktuális kiszolgálódokumentum csatolt elemei elavultak-e.
virtual BOOL OnQueryUpdateItems();
Visszaadott érték
Nonzero, ha a dokumentum olyan elemeket tartalmaz, amelyek frissítésre szorulnak; 0, ha az összes elem naprakész.
Megjegyzések
Egy elem elavult, ha a forrásdokumentuma módosult, de a csatolt elem nem lett frissítve a dokumentum változásainak megfelelően.
COleServerItem::OnRenderData
A keretrendszer meghívta, hogy a megadott formátumban kérje le az adatokat.
virtual BOOL OnRenderData(
LPFORMATETC lpFormatEtc,
LPSTGMEDIUM lpStgMedium);
Paraméterek
lpFormatEtc
A FORMATETC-struktúrára mutat, amely megadja az információkérés formátumát.
lpStgMedium
Egy STGMEDIUM-struktúrára mutat, amelyben az adatokat vissza kell adni.
Visszaadott érték
Nonzero, ha sikeres; egyéb esetben 0.
Megjegyzések
A megadott formátum egy korábban az COleDataSource objektumban a DelayRenderData vagy a DelayRenderFileData tagfüggvény használatával a késleltetett rendereléshez. A függvény alapértelmezett implementációja meghívja az OnRenderFileData vagy az OnRenderGlobalData függvényt, ha a megadott tárolóeszköz fájl vagy memória. Ha egyik formátumot sem adja meg, az alapértelmezett implementáció 0 értéket ad vissza, és nem tesz semmit.
Ha az lpStgMedium-tymed> TYMED_NULL, az STGMEDIUM-t az lpFormatEtc-tymed> által meghatározott módon kell kiosztani és kitölteni. Ha nem TYMED_NULL, az STGMEDIUM-t a helyén kell kitölteni az adatokkal.
Ez egy speciális felülírható. Felülbírálja ezt a függvényt, hogy az adatokat a kért formátumban és adathordozón adja meg. Az adatoktól függően érdemes lehet inkább felülbírálni a függvény többi verziójának egyikét. Ha az adatok kicsik és méretben rögzítettek, felülbírálás OnRenderGlobalData. Ha az adatok fájlban vagy változó méretűek, felülbírálhatja a fájlt OnRenderFileData.
További információ : IDataObject::GetData, STGMEDIUM, FORMATETC és TYMED a Windows SDK-ban.
COleServerItem::OnRenderFileData
A keretrendszer meghívja, hogy a megadott formátumban kérje le az adatokat, ha a tárolóeszköz egy fájl.
virtual BOOL OnRenderFileData(
LPFORMATETC lpFormatEtc,
CFile* pFile);
Paraméterek
lpFormatEtc
A FORMATETC-struktúrára mutat, amely megadja az információkérés formátumát.
pFile
Egy objektumra mutat, CFile amelyben az adatokat renderelni kell.
Visszaadott érték
Nonzero, ha sikeres; egyéb esetben 0.
Megjegyzések
A megadott formátum egy korábban az COleDataSource objektumba a DelayRenderData tagfüggvényt használva késleltetett renderelés céljából. A függvény alapértelmezett implementációja egyszerűen HAMIS értéket ad vissza.
Ez egy speciális felülírható. Felülbírálja ezt a függvényt, hogy az adatokat a kért formátumban és adathordozón adja meg. Az adatoktól függően előfordulhat, hogy inkább felül szeretné bírálni a függvény másik verzióját. Ha több tárolási adathordozót szeretne kezelni, bírálja felül az OnRenderData-t. Ha az adatok fájlban vagy változó méretűek, felülbírálhatja az OnRenderFileData fájlt.
További információ: IDataObject::GetData és FORMATETC a Windows SDK-ban.
COleServerItem::OnRenderGlobalData
A keretrendszer meghívja, hogy a megadott formátumban kérje le az adatokat, ha a megadott tárolóeszköz globális memória.
virtual BOOL OnRenderGlobalData(
LPFORMATETC lpFormatEtc,
HGLOBAL* phGlobal);
Paraméterek
lpFormatEtc
A FORMATETC-struktúrára mutat, amely megadja az információkérés formátumát.
phGlobal
Egy leíróra mutat a globális memóriára, amelyben az adatokat vissza kell adni. Ha nincs lefoglalva memória, ez a paraméter null értékű lehet.
Visszaadott érték
Nonzero, ha sikeres; egyéb esetben 0.
Megjegyzések
A megadott formátum egy korábban az COleDataSource objektumba a DelayRenderData tagfüggvényt használva késleltetett renderelés céljából. A függvény alapértelmezett implementációja egyszerűen HAMIS értéket ad vissza.
Ha a phGlobal null értékű, akkor egy új HGLOBAL-t kell lefoglalni és visszaadni a phGlobalban. Ellenkező esetben a phGlobal által megadott HGLOBAL-t meg kell tölteni az adatokkal. A HGLOBAL-ban elhelyezett adatok mennyisége nem haladhatja meg a memóriablokk aktuális méretét. Emellett a blokk nem helyezhető át nagyobb méretre.
Ez egy speciális felülírható. Felülbírálja ezt a függvényt, hogy az adatokat a kért formátumban és adathordozón adja meg. Az adatoktól függően érdemes lehet inkább felülbírálni a függvény többi verziójának egyikét. Ha több tárolási adathordozót szeretne kezelni, bírálja felül az OnRenderData-t. Ha az adatok fájlban vagy változó méretűek, felülbírálhatja az OnRenderFileData fájlt.
További információ: IDataObject::GetData és FORMATETC a Windows SDK-ban.
COleServerItem::OnSetColorScheme
A keretrendszer meghívta, hogy adjon meg egy színpalettát, amelyet az OLE-elem szerkesztésekor kell használni.
virtual BOOL OnSetColorScheme(const LOGPALETTE* lpLogPalette);
Paraméterek
lpLogPalette
Mutasson egy Windows LOGPALETTE-struktúrára .
Visszaadott érték
Nemzero, ha a színpalettát használja; egyéb esetben 0.
Megjegyzések
Ha a tárolóalkalmazás a Microsoft Foundation osztálykönyvtárával lett megírva, a függvény akkor lesz meghívva, amikor meghívja a megfelelő COleClientItem objektum IOleObject::SetColorScheme függvényét. Az alapértelmezett implementáció HAMIS értéket ad vissza. Bírálja felül ezt a függvényt, ha az ajánlott palettát szeretné használni. A kiszolgálóalkalmazás nem szükséges a javasolt paletta használatához.
További információ: IOleObject::SetColorScheme a Windows SDK-ban.
COleServerItem::OnSetData
A keretrendszer meghívta, hogy cserélje le az OLE-elem adatait a megadott adatokra.
virtual BOOL OnSetData(
LPFORMATETC lpFormatEtc,
LPSTGMEDIUM lpStgMedium,
BOOL bRelease);
Paraméterek
lpFormatEtc
Mutató az adatok formátumát meghatározó FORMATETC-struktúrára .
lpStgMedium
Mutasson egy STGMEDIUM-struktúrára , amelyben az adatok találhatók.
bRelease
Azt jelzi, hogy ki rendelkezik a tárolási adathordozó tulajdonosával a függvényhívás befejezése után. A hívó dönti el, hogy ki felelős a tárolóeszköz nevében lefoglalt erőforrások felszabadításáért. A hívó ezt a bRelease beállításával teszi. Ha a bRelease nem aero, a kiszolgálóelem tulajdonjogot vesz fel, és felszabadítja a adathordozót, amikor befejezte a használatát. Ha a bRelease 0, a hívó megtartja a tulajdonjogot, és a kiszolgálóelem csak a hívás idejére használhatja a tárolóeszközt.
Visszaadott érték
Nonzero, ha sikeres; egyéb esetben 0.
Megjegyzések
A kiszolgálóelem mindaddig nem veszi át az adatok tulajdonjogát, amíg sikeresen be nem szerezte azokat. Ez azt jelenti, hogy nem veszi át a tulajdonjogot, ha 0-t ad vissza. Ha az adatforrás tulajdonjogot vállal, felszabadítja a tárolóeszközt a ReleaseStgMedium függvény meghívásával.
Az alapértelmezett implementáció nem végez semmit. A függvény felülbírálása az OLE-elem adatainak a megadott adatokra való lecseréléséhez. Ez egy speciális felülírható.
További információ: STGMEDIUM, FORMATETC és ReleaseStgMedium a Windows SDK-ban.
COleServerItem::OnSetExtent
A keretrendszer meghívta, hogy tájékoztassa az OLE-elemet arról, hogy mennyi hely áll rendelkezésére a tárolódokumentumban.
virtual BOOL OnSetExtent(
DVASPECT nDrawAspect,
const CSize& size);
Paraméterek
nDrawAspect
Annak az OLE-elemnek a aspektusát adja meg, amelynek a határai meg vannak adva. Ez a paraméter a következő értékek bármelyikével rendelkezhet:
DVASPECT_CONTENT Elem úgy van ábrázolva, hogy beágyazott objektumként jelenjen meg a tárolóban.
DVASPECT_THUMBNAIL Elem "miniatűr" ábrázolásban jelenik meg, hogy megjeleníthető legyen egy böngészési eszközben.
DVASPECT_ICON elemet egy ikon jelöli.
DVASPECT_DOCPRINT Elem úgy jelenik meg, mintha a Fájl menü Nyomtatás parancsával lett volna kinyomtatva.
méret
Az OLE-elem új méretét meghatározó CSize-struktúra .
Visszaadott érték
Nonzero, ha sikeres; egyéb esetben 0.
Megjegyzések
Ha a tárolóalkalmazás a Microsoft Foundation osztálykönyvtárával lett megírva, a rendszer ezt a függvényt hívja meg a megfelelő COleClientItem objektum SetExtent tagfüggvényének meghívásakor. Az alapértelmezett implementáció a m_sizeExtent tagot a megadott méretre állítja, ha az nDrawAspect DVASPECT_CONTENT; ellenkező esetben 0 értéket ad vissza. Felülbírálja ezt a függvényt, hogy speciális feldolgozást végezzen az elem méretének módosításakor.
COleServerItem::OnShow
A keretrendszer meghívta, hogy utasítsa a kiszolgálóalkalmazást az OLE elem helyben való megjelenítésére.
virtual void OnShow();
Megjegyzések
Ezt a függvényt általában akkor hívjuk meg, ha a tárolóalkalmazás felhasználója létrehoz egy elemet, vagy végrehajt egy olyan parancsot( például Szerkesztés), amely megköveteli az elem megtekintését. Az alapértelmezett implementáció helyszíni aktiválást kísérel meg. Ha ez nem sikerül, a függvény meghívja a OnOpen tagfüggvényt, hogy külön ablakban jelenítse meg az OLE elemet.
Felülbírálja ezt a függvényt, ha speciális feldolgozást szeretne végezni, amikor megjelenik egy OLE-elem.
COleServerItem::OnUpdate
A keretrendszer meghívta egy elem módosításakor.
virtual void OnUpdate(
COleServerItem* pSender,
LPARAM lHint,
CObject* pHint,
DVASPECT nDrawAspect);
Paraméterek
pSender
Mutasson a dokumentumot módosító elemre. Null érték is lehet.
lHint
A módosítással kapcsolatos információkat tartalmaz.
pHint
Mutasson egy objektumra, amely a módosítással kapcsolatos információkat tárolja.
nDrawAspect
A DVASPECT enumerálásából származó érték. Ez a paraméter a következő értékek bármelyikével rendelkezhet:
DVASPECT_CONTENT Elem úgy van ábrázolva, hogy beágyazott objektumként jelenjen meg a tárolóban.
DVASPECT_THUMBNAIL Elem "miniatűr" ábrázolásban jelenik meg, hogy megjeleníthető legyen egy böngészési eszközben.
DVASPECT_ICON elemet egy ikon jelöli.
DVASPECT_DOCPRINT Elem úgy jelenik meg, mintha a Fájl menü Nyomtatás parancsával lett volna kinyomtatva.
Megjegyzések
Az alapértelmezett implementáció a NotifyChanged hívásokat hívja meg, függetlenül a tipptől vagy a feladótól.
COleServerItem::OnUpdateItems
A keretrendszer meghívta, hogy frissítse a kiszolgálódokumentum összes elemét.
virtual void OnUpdateItems();
Megjegyzések
Az alapértelmezett implementáció meghívja az UpdateLinket a dokumentum összes COleClientItem objektumához.
COleServerItem::SetItemName
Hívja meg ezt a függvényt, amikor létrehoz egy csatolt elemet a nevének beállításához.
void SetItemName(LPCTSTR lpszItemName);
Paraméterek
lpszItemName
Mutasson az elem új nevére.
Megjegyzések
A névnek egyedinek kell lennie a dokumentumban. Amikor egy kiszolgálóalkalmazást meghív egy csatolt elem szerkesztésére, az alkalmazás ezt a nevet használja az elem megkereséséhez. Beágyazott elemek esetén nem kell meghívnia ezt a függvényt.
Lásd még
MFC-minta HIERSVR
CDocItem osztály
hierarchiadiagram
COleClientItem osztály
COleServerDoc osztály
COleTemplateServer osztály