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


COleServerDoc osztály

Az OLE-kiszolgáló dokumentumainak alaposztálya.

Szintaxis

class AFX_NOVTABLE COleServerDoc : public COleLinkingDoc

Tagok

Nyilvános konstruktorok

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

Nyilvános metódusok

Név Leírás
COleServerDoc::ActivateDocObject Aktiválja a társított DocObject-dokumentumot.
COleServerDoc::ActivateInPlace Aktiválja a dokumentumot a helyben történő szerkesztéshez.
COleServerDoc::D eactivateAndUndo Inaktiválja a kiszolgáló felhasználói felületét.
COleServerDoc::D iscardUndoState Elveti a visszavonási állapot adatait.
COleServerDoc::GetClientSite A mögöttes IOleClientSite felületre mutató mutatót kér le.
COleServerDoc::GetEmbeddedItem A teljes dokumentumot képviselő elemhez mutató mutatót ad vissza.
COleServerDoc::GetItemClipRect Az aktuális kivágási téglalapot adja vissza a helyi szerkesztéshez.
COleServerDoc::GetItemPosition A tárolóalkalmazás ügyfélterületéhez viszonyított aktuális pozíció téglalapját adja vissza a helyszíni szerkesztéshez.
COleServerDoc::GetZoomFactor A képpontokban lévő nagyítási tényezőt adja vissza.
COleServerDoc::IsDocObject Meghatározza, hogy a dokumentum DocObject-e.
COleServerDoc::IsEmbedded Azt jelzi, hogy a dokumentum tárolódokumentumba van-e beágyazva, vagy önállóan fut-e.
COleServerDoc::IsInPlaceActive Igaz értéket ad vissza, ha az elem jelenleg aktiválva van.
COleServerDoc::NotifyChanged Értesíti a tárolókat, hogy a felhasználó módosította a dokumentumot.
COleServerDoc::NotifyClosed Értesíti a tárolókat, hogy a felhasználó bezárta a dokumentumot.
COleServerDoc::NotifyRename Értesíti a tárolókat, hogy a felhasználó átnevezte a dokumentumot.
COleServerDoc::NotifySaved Értesíti a tárolókat, hogy a felhasználó mentette a dokumentumot.
COleServerDoc::OnDeactivate A keretrendszer meghívja, amikor a felhasználó inaktivál egy aktivált elemet.
COleServerDoc::OnDeactivateUI A keretrendszer meghívta, hogy megsemmisítse a vezérlőket és a helyszíni aktiváláshoz létrehozott egyéb felhasználói felületi elemeket.
COleServerDoc::OnDocWindowActivate A keretrendszer meghívja a tároló dokumentumkeretének aktiválása vagy inaktiválása esetén.
COleServerDoc::OnResizeBorder A keretrendszer meghívja a tárolóalkalmazás keretablakának vagy dokumentumablakának átméretezésekor.
COleServerDoc::OnShowControlBars A keretrendszer meghívta, hogy megjelenítse vagy elrejtse a vezérlősávokat a helyszíni szerkesztéshez.
COleServerDoc::OnUpdateDocument A keretrendszer meghívja egy beágyazott elemet tartalmazó kiszolgálói dokumentum mentésekor, és frissíti az elem tárolópéldányát.
COleServerDoc::RequestPositionChange A helyszíni szerkesztési keret pozíciójának módosítása.
COleServerDoc::SaveEmbedding Tájékoztatja a tárolóalkalmazást, hogy mentse a dokumentumot.
COleServerDoc::ScrollContainerBy Görgeti a tárolódokumentumot.
COleServerDoc::UpdateAllItems Értesíti a tárolókat, hogy a felhasználó módosította a dokumentumot.

Védett metódusok

Név Leírás
COleServerDoc::CreateInPlaceFrame A keretrendszer meghívta, hogy hozzon létre egy keretablakot a helyszíni szerkesztéshez.
COleServerDoc::D estroyInPlaceFrame A keretrendszer meghívta, hogy elpusztítson egy keretablakot a helyszíni szerkesztéshez.
COleServerDoc::GetDocObjectServer Felülbírálja ezt a függvényt egy új CDocObjectServer objektum létrehozásához, és azt jelzi, hogy ez a dokumentum egy DocObject-tároló.
COleServerDoc::OnClose A keretrendszer meghívja, amikor egy tároló a dokumentum bezárását kéri.
COleServerDoc::OnExecOleCmd Végrehajt egy megadott parancsot, vagy megjeleníti a parancs súgóját.
COleServerDoc::OnFrameWindowActivate A keretrendszer meghívja a tároló keretablakának aktiválása vagy inaktiválása esetén.
COleServerDoc::OnGetEmbeddedItem A teljes dokumentumot képviselő COleServerItem lekérésére van meghívva; beágyazott elem lekérésére szolgál. Implementálásra van szükség.
COleServerDoc::OnReactivateAndUndo A keretrendszer meghívta, hogy visszavonja a helyszíni szerkesztés során végrehajtott módosításokat.
COleServerDoc::OnSetHostNames A keretrendszer meghívja, amikor egy tároló beállítja egy beágyazott objektum ablakcímét.
COleServerDoc::OnSetItemRects A keretrendszer meghívta, hogy helyezze a helyszíni szerkesztési keretablakot a tárolóalkalmazás ablakában.
COleServerDoc::OnShowDocument A keretrendszer meghívta a dokumentum megjelenítésére vagy elrejtésére.

Megjegyzések

A kiszolgálódokumentum tartalmazhat COleServerItem objektumokat, amelyek a beágyazott vagy csatolt elemek kiszolgálói felületét jelölik. Amikor egy tároló elindít egy kiszolgálóalkalmazást egy beágyazott elem szerkesztéséhez, a rendszer saját kiszolgálódokumentumként tölti be az elemet; a COleServerDoc objektum csak egy COleServerItem objektumot tartalmaz, amely a teljes dokumentumból áll. Amikor egy tároló elindít egy kiszolgálóalkalmazást egy csatolt elem szerkesztéséhez, a rendszer betölt egy meglévő dokumentumot a lemezről; a dokumentum tartalmának egy része ki van emelve, hogy jelezze a csatolt elemet.

COleServerDoc objektumok a COleClientItem osztály elemeit is tartalmazhatják. Ez lehetővé teszi tárolókiszolgáló-alkalmazások létrehozását. A keretrendszer függvényeket biztosít a COleClientItem elemek megfelelő tárolásához a COleServerItem objektumok karbantartása során.

Ha a kiszolgálóalkalmazás nem támogatja a hivatkozásokat, a kiszolgálódokumentumok mindig csak egy kiszolgálóelemet tartalmaznak, amely a teljes beágyazott objektumot dokumentumként jelöli. Ha a kiszolgálóalkalmazás támogatja a hivatkozásokat, minden alkalommal létre kell hoznia egy kiszolgálóelemet, amikor egy kijelölést átmásol a vágólapra.

A COleServerDochasználatához származtasson belőle egy osztályt, és implementálja a OnGetEmbeddedItem tagfüggvényt, amely lehetővé teszi, hogy a kiszolgáló támogassa a beágyazott elemeket. Osztályt származtathat a COleServerItem a dokumentumok elemeinek implementálásához, és visszaadhatja az osztály objektumait OnGetEmbeddedItem.

A csatolt elemek támogatásához COleServerDoc biztosítja a OnGetLinkedItem tagfüggvényt. Használhatja az alapértelmezett implementációt, vagy felülbírálhatja azt, ha saját módjával kezeli a dokumentumelemeket.

Minden olyan kiszolgálói dokumentumtípushoz, amelyet az alkalmazás támogat, egy COleServerDoc-származtatott osztályra van szüksége. Ha például a kiszolgálóalkalmazás támogatja a munkalapokat és a diagramokat, két COleServerDocszármaztatott osztályra van szüksége.

A kiszolgálókról további információt a Kiszolgálók : Kiszolgálóiimplementálása című cikkben talál.

Öröklési hierarchia

CObject

CCmdTarget

CDocument

COleDocument

COleLinkingDoc

COleServerDoc

Követelmények

fejléc: afxole.h

COleServerDoc::ActivateDocObject

Aktiválja a társított DocObject-dokumentumot.

void ActivateDocObject();

Megjegyzések

Alapértelmezés szerint a COleServerDoc nem támogatja az aktív dokumentumokat (más néven DocObjects). A támogatás engedélyezéséhez lásd: GetDocObjectServer és osztály CDocObjectServer.

COleServerDoc::ActivateInPlace

A helyszíni szerkesztéshez aktiválja az elemet.

BOOL ActivateInPlace();

Visszaadott érték

Nonzero, ha sikeres; ellenkező esetben 0, ami azt jelzi, hogy az elem teljesen nyitva van.

Megjegyzések

Ez a függvény minden olyan műveletet végrehajt, amely a helyszíni aktiváláshoz szükséges. Létrehoz egy helyi keretablakot, aktiválja és méretezi az elemhez, beállítja a megosztott menüket és egyéb vezérlőket, nézetben görgeti az elemet, és a fókuszt a helyi keretablakra állítja.

Ezt a függvényt a COleServerItem::OnShowalapértelmezett implementációja hívja meg. Hívja meg ezt a függvényt, ha az alkalmazás egy másik parancsot támogat a helyszíni aktiváláshoz (például Play).

COleServerDoc::COleServerDoc

COleServerDoc objektumot hoz létre az OLE rendszer DLL-jeihez való csatlakozás nélkül.

COleServerDoc();

Megjegyzések

A COleLinkingDoc::Register hívásával nyithatja meg a kommunikációt az OLE-vel. Ha COleTemplateServer használ az alkalmazásban, COleLinkingDoc::RegisterCOleLinkingDocOnNewDocument, OnOpenDocumentés OnSaveDocumentimplementációja hívja meg.

COleServerDoc::CreateInPlaceFrame

A keretrendszer meghívja ezt a függvényt, hogy hozzon létre egy keretablakot a helyszíni szerkesztéshez.

virtual COleIPFrameWnd* CreateInPlaceFrame(CWnd* pParentWnd);

Paraméterek

pParentWnd
Mutasson a tárolóalkalmazás szülőablakára.

Visszaadott érték

Mutató a helyszíni keretablakra, vagy null értékű, ha nem sikerül.

Megjegyzések

Az alapértelmezett implementáció a dokumentumsablonban megadott információkat használja a keret létrehozásához. A használt nézet a dokumentumhoz elsőként létrehozott nézet. Ez a nézet ideiglenesen le van választva az eredeti keretről, és az újonnan létrehozott kerethez van csatolva.

Ez egy speciális felülírható.

COleServerDoc::D eactivateAndUndo

Hívja meg ezt a függvényt, ha az alkalmazás támogatja a Visszavonás funkciót, és a felhasználó az elem aktiválása után, de szerkesztés előtt a Visszavonás lehetőséget választja.

BOOL DeactivateAndUndo();

Visszaadott érték

Nonzero a siker; egyéb esetben 0.

Megjegyzések

Ha a tárolóalkalmazás a Microsoft Foundation osztálykönyvtárával van megírva, a függvény meghívása COleClientItem::OnDeactivateAndUndo meghívását okozza, amely inaktiválja a kiszolgáló felhasználói felületét.

COleServerDoc::D estroyInPlaceFrame

A keretrendszer meghívja ezt a függvényt, hogy megsemmisítsen egy helyszíni keretablakot, és a kiszolgálóalkalmazás dokumentumablakát adja vissza az állapotához a helyszíni aktiválás előtt.

virtual void DestroyInPlaceFrame(COleIPFrameWnd* pFrameWnd);

Paraméterek

pFrameWnd
Mutasson a megsemmisítendő helyszíni keretablakra.

Megjegyzések

Ez egy speciális felülírható.

COleServerDoc::D iscardUndoState

Ha a felhasználó olyan szerkesztési műveletet hajt végre, amely nem vonható vissza, hívja meg ezt a függvényt, hogy kényszerítse a tárolóalkalmazást a visszavonási állapot adatainak elvetésére.

BOOL DiscardUndoState();

Visszaadott érték

Nonzero a siker; egyéb esetben 0.

Megjegyzések

Ez a függvény úgy van megadva, hogy a Visszavonást támogató kiszolgálók felszabadíthassák azokat az erőforrásokat, amelyeket egyébként nem használható visszavonási állapotinformációk használnának fel.

COleServerDoc::GetClientSite

A mögöttes IOleClientSite felületre mutató mutatót kér le.

LPOLECLIENTSITE GetClientSite() const;

Visszaadott érték

Lekéri a mögöttes IOleClientSite felületére mutató mutatót.

COleServerDoc::GetDocObjectServer

Felülbírálja ezt a függvényt egy új CDocObjectServer elem létrehozásához, és adjon vissza egy mutatót.

virtual CDocObjectServer* GetDocObjectServer(LPOLEDOCUMENTSITE pDocSite);

Paraméterek

pDocSite
Mutasson arra a IOleDocumentSite felületre, amely csatlakoztatja a dokumentumot a kiszolgálóhoz.

Visszaadott érték

Mutató egy CDocObjectServer; NULL érték, ha a művelet nem sikerült.

Megjegyzések

A DocObject-kiszolgáló aktiválásakor a nem NULL értékű mutató visszatérése azt mutatja, hogy az ügyfél támogatja a DocObjectset. Az alapértelmezett implementáció null értéket ad vissza.

A DocObjectset támogató dokumentumok tipikus implementációja egyszerűen lefoglal egy új CDocObjectServer objektumot, és visszaadja azt a hívónak. Például:

CDocObjectServer* CMFCOleServerDoc::GetDocObjectServer(LPOLEDOCUMENTSITE pSite)
{
   return new CDocObjectServer(this, pSite);
}

COleServerDoc::GetEmbeddedItem

Hívja meg ezt a függvényt, hogy egy mutatót kapjon a teljes dokumentumot képviselő elemhez.

COleServerItem* GetEmbeddedItem();

Visszaadott érték

A teljes dokumentumot jelképező elemre mutató mutató; NULL érték, ha a művelet nem sikerült.

Megjegyzések

Meghívja COleServerDoc::OnGetEmbeddedItem, egy alapértelmezett implementáció nélküli virtuális függvényt.

COleServerDoc::GetItemClipRect

Hívja meg a GetItemClipRect tagfüggvényt a helyben szerkesztett elem kivágási téglalap koordinátáinak lekéréséhez.

void GetItemClipRect(LPRECT lpClipRect) const;

Paraméterek

lpClipRect
Mutasson egy RECT szerkezetre vagy egy CRect objektumra az elem kivágási téglalap koordinátáinak fogadásához.

Megjegyzések

A koordináták képpontban vannak a tárolóalkalmazás ablakának ügyfélterületéhez képest.

A rajz nem történhet a vágó téglalapon kívül. A rajz általában automatikusan korlátozott. Ezzel a függvénnyel megállapíthatja, hogy a felhasználó görgetett-e a dokumentum látható részén kívül; ha igen, görgessen le a tárolódokumentumot szükség szerint a ScrollContainerBy hívásával.

COleServerDoc::GetItemPosition

Hívja meg a GetItemPosition tagfüggvényt a szerkesztett elem koordinátáinak lekéréséhez.

void GetItemPosition(LPRECT lpPosRect) const;

Paraméterek

lpPosRect
Mutasson egy RECT szerkezetre vagy egy CRect objektumra az elem koordinátáinak fogadásához.

Megjegyzések

A koordináták képpontban vannak a tárolóalkalmazás ablakának ügyfélterületéhez képest.

Az elem pozíciója összehasonlítható az aktuális kivágási téglalapdal annak meghatározásához, hogy az elem milyen mértékben látható (vagy nem látható) a képernyőn.

COleServerDoc::GetZoomFactor

A GetZoomFactor tagfüggvény határozza meg a helyszíni szerkesztéshez aktivált elem "nagyítási tényezője" értékét.

BOOL GetZoomFactor(
    LPSIZE lpSizeNum = NULL,
    LPSIZE lpSizeDenom = NULL,
    LPCRECT lpPosRect = NULL) const;

Paraméterek

lpSizeNum
Mutasson egy olyan osztályobjektumra CSize, amely a nagyítási tényező számlálóját fogja tárolni. Null érték is lehet.

lpSizeDenom
Mutasson egy olyan CSize osztályobjektumra, amely a nagyítási tényező nevezőjét fogja tárolni. Null érték is lehet.

lpPosRect
Mutasson az elem új pozícióját leíró CRect osztályobjektumra. Ha ez az argumentum NULL, a függvény az elem aktuális pozícióját használja.

Visszaadott érték

Nonzero, ha az elem helyszíni szerkesztésre van aktiválva, és nagyítási tényezője nem 100% (1:1); egyéb esetben 0.

Megjegyzések

A nagyítási tényező képpontban az elem méretének és jelenlegi méretének aránya. Ha a tárolóalkalmazás nem állította be az elem mértékét, annak természetes kiterjedése (COleServerItem::OnGetExtent) lesz használva.

A függvény az első két argumentumát az elem "nagyítási tényezőjének" számlálójára és nevezőjének állítja be. Ha az elemet nem szerkessze helyben, a függvény ezeket az argumentumokat alapértelmezett értékre állítja 100% (vagy 1:1) értékre, és nullát ad vissza. További információ: Technical Note 40, MFC/OLE In-Place Átméretezés és nagyítás.

COleServerDoc::IsDocObject

Meghatározza, hogy a dokumentum DocObject-e.

BOOL IsDocObject() const;

Visszaadott érték

IGAZ, ha a dokumentum DocObject; egyéb esetben HAMIS.

COleServerDoc::IsEmbedded

Hívja meg a IsEmbedded tagfüggvényt annak megállapításához, hogy a dokumentum egy tárolóba beágyazott objektumot jelöl-e.

BOOL IsEmbedded() const;

Visszaadott érték

Nonzero, ha a COleServerDoc objektum egy tárolóba ágyazott objektumot jelképező dokumentum; egyéb esetben 0.

Megjegyzések

A fájlból betöltött dokumentum nincs beágyazva, bár egy tárolóalkalmazás hivatkozásként módosíthatja. A tárolódokumentumba beágyazott dokumentum beágyazottnak minősül.

COleServerDoc::IsInPlaceActive

Hívja meg a IsInPlaceActive tagfüggvényt annak megállapításához, hogy az elem jelenleg helyben aktív állapotban van-e.

BOOL IsInPlaceActive() const;

Visszaadott érték

Nonzero, ha a COleServerDoc objektum aktív a helyén; egyéb esetben 0.

COleServerDoc::NotifyChanged

Hívja meg ezt a függvényt, hogy értesítse a dokumentumhoz csatlakoztatott összes csatolt elemet arról, hogy a dokumentum megváltozott.

void NotifyChanged();

Megjegyzések

Ezt a függvényt általában akkor hívja meg, ha a felhasználó módosít néhány globális attribútumot, például a kiszolgálódokumentum dimenzióit. Ha egy OLE-elem automatikus hivatkozással van csatolva a dokumentumhoz, az elem a változásoknak megfelelően frissül. A Microsoft Foundation osztálykönyvtárával írt tárolóalkalmazásokban a COleClientItemOnChange tagfüggvényét hívják meg.

Jegyzet

Ez a függvény az OLE 1-zel való kompatibilitás érdekében jelenik meg. Az új alkalmazásoknak UpdateAllItemskell használniuk.

COleServerDoc::NotifyClosed

Hívja meg ezt a függvényt, hogy értesítse a tároló(ka)t a dokumentum bezárásáról.

void NotifyClosed();

Megjegyzések

Amikor a felhasználó a Fájl menüBen a Bezárás parancsot választja, NotifyClosed a COleServerDoca OnCloseDocument tagfüggvényének implementációja hívja meg. A Microsoft Foundation osztálykönyvtárával írt tárolóalkalmazásokban a COleClientItemOnChange tagfüggvényét hívják meg.

COleServerDoc::NotifyRename

Hívja meg ezt a függvényt, miután a felhasználó átnevezte a kiszolgálódokumentumot.

void NotifyRename(LPCTSTR lpszNewName);

Paraméterek

lpszNewName
Mutasson egy sztringre, amely megadja a kiszolgálódokumentum új nevét; ez általában egy teljesen minősített elérési út.

Megjegyzések

Amikor a felhasználó a Fájl menü Mentés másként parancsát választja, NotifyRenameCOleServerDoca OnSaveDocument tagfüggvényének implementációja hívja meg. Ez a függvény értesíti az OLE rendszer DLL-jeit, amelyek viszont értesítik a tárolókat. A Microsoft Foundation osztálykönyvtárával írt tárolóalkalmazásokban a COleClientItemOnChange tagfüggvényét hívják meg.

COleServerDoc::NotifySaved

Hívja meg ezt a függvényt, miután a felhasználó mentette a kiszolgálódokumentumot.

void NotifySaved();

Megjegyzések

Amikor a felhasználó a Fájl menü Mentés parancsát választja, NotifySavedCOleServerDocOnSaveDocumentimplementációja hívja meg. Ez a függvény értesíti az OLE rendszer DLL-jeit, amelyek viszont értesítik a tárolókat. A Microsoft Foundation osztálykönyvtárával írt tárolóalkalmazásokban a COleClientItemOnChange tagfüggvényét hívják meg.

COleServerDoc::OnClose

A keretrendszer meghívja, amikor egy tároló a kiszolgálódokumentum bezárását kéri.

virtual void OnClose(OLECLOSE dwCloseOption);

Paraméterek

dwCloseOption
Az OLECLOSE enumerálási értéke. Ez a paraméter a következő értékek egyikével rendelkezhet:

  • OLECLOSE_SAVEIFDIRTY A rendszer menti a fájlt, ha módosították.

  • OLECLOSE_NOSAVE A fájl mentés nélkül bezárul.

  • OLECLOSE_PROMPTSAVE Ha a fájlt módosították, a rendszer kérni fogja a felhasználót a fájl mentéséről.

Megjegyzések

Az alapértelmezett megvalósítási hívások CDocument::OnCloseDocument.

További információ és további értékek: OLECLOSE a Windows SDK-ban.

COleServerDoc::OnDeactivate

A keretrendszer meghívja, amikor a felhasználó inaktivál egy olyan beágyazott vagy csatolt elemet, amely jelenleg aktív a helyén.

virtual void OnDeactivate();

Megjegyzések

Ez a függvény visszaállítja a tárolóalkalmazás felhasználói felületét az eredeti állapotára, és megsemmisíti a helyi aktiváláshoz létrehozott menüket és egyéb vezérlőket.

A visszavonási állapot adatait ezen a ponton feltétel nélkül közzé kell tenni.

További információt az aktiválási című cikkben talál.

COleServerDoc::OnDeactivateUI

Akkor hívható meg, amikor a felhasználó inaktivál egy aktivált elemet.

virtual void OnDeactivateUI(BOOL bUndoable);

Paraméterek

bUndoable
Megadja, hogy a szerkesztési módosítások visszavonhatók-e.

Megjegyzések

Ez a függvény visszaállítja a tárolóalkalmazás felhasználói felületét az eredeti állapotára, elrejtve a helyi aktiváláshoz létrehozott menüket és egyéb vezérlőket.

A keretrendszer mindig HAMIS értékre állítja bUndoable. Ha a kiszolgáló támogatja a visszavonást, és van egy visszavonható művelet, hívja meg az alaposztály implementációt, bUndoable értéke IGAZ.

COleServerDoc::OnDocWindowActivate

A keretrendszer meghívja ezt a függvényt, hogy aktiváljon vagy inaktiváljon egy dokumentumablakot a helyszíni szerkesztéshez.

virtual void OnDocWindowActivate(BOOL bActivate);

Paraméterek

bActivate
Megadja, hogy a dokumentumablakot aktiválni vagy inaktiválni kell-e.

Megjegyzések

Az alapértelmezett implementáció szükség szerint eltávolítja vagy hozzáadja a keretszintű felhasználói felület elemeit. Bírálja felül ezt a függvényt, ha további műveleteket szeretne végrehajtani az elemet tartalmazó dokumentum aktiválása vagy inaktiválása esetén.

További információt az aktiválási című cikkben talál.

COleServerDoc::OnExecOleCmd

A keretrendszer meghívja ezt a függvényt, hogy végrehajtson egy megadott parancsot, vagy megjelenítse a parancs súgóját.

virtual HRESULT OnExecOleCmd(
    const GUID* pguidCmdGroup,
    DWORD nCmdID,
    DWORD nCmdExecOpt,
    VARIANTARG* pvarargIn,
    VARIANTARG* pvarargOut);

Paraméterek

pguidCmdGroup
Egy GUID-ra mutató mutató, amely a parancsok egy készletét azonosítja. Null érték is lehet az alapértelmezett parancscsoport jelzéséhez.

nCmdID
A végrehajtandó parancs. A pguidCmdGroupáltal azonosított csoportban kell lennie.

nCmdExecOut
Az objektum végrehajtásának módja az OLECMDEXECOPT enumerálásból származó alábbi értékek közül egy vagy több:

OLECMDEXECOPT_DODEFAULT

OLECMDEXECOPT_PROMPTUSER

OLECMDEXECOPT_DONTPROMPTUSER

OLECMDEXECOPT_SHOWHELP

pvarargIn
Mutasson egy VARIANTARG értékre, amely a parancs bemeneti argumentumait tartalmazza. Null érték is lehet.

pvarargOut
A parancs kimeneti visszatérési értékeinek fogadásához mutasson egy VARIANTARG-ra. Null érték is lehet.

Visszaadott érték

Sikeres S_OK ad vissza; ellenkező esetben az alábbi hibakódok egyikét:

Érték Leírás
E_UNEXPECTED Váratlan hiba történt
E_FAIL Hiba történt
E_NOTIMPL Azt jelzi, hogy az MFC-nek meg kell kísérelnie lefordítani és elküldeni a parancsot
OLECMDERR_E_UNKNOWNGROUP pguidCmdGroup nem NULL értékű, de nem ad meg felismert parancscsoportot
OLECMDERR_E_NOTSUPPORTED nCmdID nem ismeri fel érvényes parancsként a csoport pguidCmdGroup
OLECMDERR_DISABLED A nCmdID által azonosított parancs le van tiltva, és nem hajtható végre
OLECMDERR_NOHELP A hívó segítséget kért a nCmdID által azonosított parancshoz, de nem áll rendelkezésre súgó
OLECMDERR_CANCELED A felhasználó megszakította a végrehajtást

Megjegyzések

COleCmdUI a DocObject felhasználói felület parancsainak engedélyezésére, frissítésére és egyéb tulajdonságainak beállítására használható. A parancsok inicializálása után végrehajthatja őket OnExecOleCmd.

A keretrendszer meghívja a függvényt, mielőtt megpróbálna lefordítani és elküldeni egy OLE-dokumentumparancsot. Nem kell felülbírálnia ezt a függvényt a szabványos OLE-dokumentumparancsok kezeléséhez, de felülbírálást kell megadnia ehhez a függvényhez, ha saját egyéni parancsait szeretné kezelni, vagy olyan parancsokat szeretne kezelni, amelyek paramétereket fogadnak el, vagy eredményeket adnak vissza.

A parancsok többsége nem fogad el argumentumokat, és nem ad vissza értékeket. A parancsok többségénél a hívó át tudja adni az NUL-okat pvarargIn és pvarargOut. Bemeneti értékeket váró parancsok esetén a hívó deklarálhat és inicializálhat egy VARIANTARG változót, és mutatót adhat át a változónak pvarargIn. Egyetlen értéket igénylő parancsok esetén az argumentum közvetlenül a VARIANTARG-ben tárolható, és átadható a függvénynek. A VARIANTARG-ben több argumentumot is be kell csomagolni a támogatott típusok egyikével (például IDispatch és SAFEARRAY).

Hasonlóképpen, ha egy parancs argumentumokat ad vissza, a hívó várhatóan egy VARIANTARG-t deklarál, inicializálja azt VT_EMPTY, és adja meg a címét pvarargOut. Ha egy parancs egyetlen értéket ad vissza, az objektum ezt az értéket közvetlenül pvarargOuttárolja. Több kimeneti értéket kell a VARIANTARG-nek megfelelő módon csomagolni.

A függvény alaposztály-implementációja végigvezeti a parancscélhoz társított OLE_COMMAND_MAP struktúrákat, és megpróbálja elküldeni a parancsot egy megfelelő kezelőnek. Az alaposztály implementációja csak olyan parancsokkal működik, amelyek nem fogadnak el argumentumokat vagy nem ad vissza értékeket. Ha olyan parancsokat kell kezelnie, amelyek argumentumokat fogadnak el, vagy értékeket ad vissza, felül kell bírálnia ezt a függvényt, és a pvarargIn és pvarargOut paraméterekkel kell dolgoznia.

COleServerDoc::OnFrameWindowActivate

A keretrendszer meghívja ezt a függvényt a tárolóalkalmazás keretablakának aktiválása vagy inaktiválása esetén.

virtual void OnFrameWindowActivate(BOOL bActivate);

Paraméterek

bActivate
Megadja, hogy a keretablakot aktiválni vagy inaktiválni kell-e.

Megjegyzések

Az alapértelmezett implementáció megszakítja a keretablak esetleges súgómódjait. Bírálja felül ezt a függvényt, ha speciális feldolgozást szeretne végezni a keretablak aktiválása vagy inaktiválása esetén.

További információt az aktiválási című cikkben talál.

COleServerDoc::OnGetEmbeddedItem

A keretrendszer meghívja, amikor egy tárolóalkalmazás meghívja a kiszolgálóalkalmazást beágyazott elem létrehozására vagy szerkesztésére.

virtual COleServerItem* OnGetEmbeddedItem() = 0;

Visszaadott érték

A teljes dokumentumot jelképező elemre mutató mutató; NULL érték, ha a művelet nem sikerült.

Megjegyzések

Nincs alapértelmezett implementáció. Felül kell bírálnia ezt a függvényt, hogy a teljes dokumentumot képviselő elemet adja vissza. Ennek a visszatérési értéknek egy COleServerItem-származtatott osztály objektumának kell lennie.

COleServerDoc::OnReactivateAndUndo

A keretrendszer meghívja ezt a függvényt, amikor a felhasználó úgy dönt, hogy visszavonja a helyben aktivált, módosított és később inaktivált elem módosításait.

virtual BOOL OnReactivateAndUndo();

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Az alapértelmezett implementáció nem tesz mást, mint hamis értéket ad vissza a hiba jelzéséhez.

Bírálja felül ezt a függvényt, ha az alkalmazás támogatja a visszavonást. Általában a visszavonási műveletet hajtja végre, majd aktiválja az elemet ActivateInPlacemeghívásával. Ha a tárolóalkalmazás a Microsoft Foundation osztálykönyvtárával van megírva, a COleClientItem::ReactivateAndUndo hívása a függvény meghívását eredményezi.

COleServerDoc::OnResizeBorder

A keretrendszer meghívja ezt a függvényt, amikor a tárolóalkalmazás keretablakai mérete megváltozik.

virtual void OnResizeBorder(
    LPCRECT lpRectBorder,
    LPOLEINPLACEUIWINDOW lpUIWindow,
    BOOL bFrame);

Paraméterek

lpRectBorder
Mutasson egy RECT szerkezetre vagy egy CRect objektumra, amely megadja a szegély koordinátáit.

lpUIWindow
Mutasson az aktuális helyszíni szerkesztési munkamenetet birtokba IOleInPlaceUIWindow osztályobjektumra.

bFrame
IGAZ, ha lpUIWindow a tárolóalkalmazás legfelső szintű keretablakára mutat, vagy HAMIS, ha lpUIWindow a tárolóalkalmazás dokumentumszintű keretablakára mutat.

Megjegyzések

Ez a függvény átméretezi és módosítja az eszköztárakat és más felhasználói felületi elemeket az új ablakméretnek megfelelően.

További információ: IOleInPlaceUIWindow a Windows SDK-ban.

Ez egy speciális felülírható.

COleServerDoc::OnSetHostNames

A keretrendszer meghívja, amikor a tároló beállítja vagy módosítja a dokumentum gazdagépnevét.

virtual void OnSetHostNames(
    LPCTSTR lpszHost,
    LPCTSTR lpszHostObj);

Paraméterek

lpszHost
Mutasson egy sztringre, amely megadja a tárolóalkalmazás nevét.

lpszHostObj
Mutasson egy sztringre, amely megadja a dokumentum tárolójának nevét.

Megjegyzések

Az alapértelmezett implementáció módosítja a dokumentum címét a dokumentumra hivatkozó összes nézethez.

Bírálja felül ezt a függvényt, ha az alkalmazás egy másik mechanizmuson keresztül állítja be a címeket.

COleServerDoc::OnSetItemRects

A keretrendszer meghívja ezt a függvényt, hogy helyezze a helyszíni szerkesztési keretablakot a tárolóalkalmazás keretablakában.

virtual void OnSetItemRects(
    LPCRECT lpPosRect,
    LPCRECT lpClipRect);

Paraméterek

lpPosRect
Mutasson egy RECT struktúrára vagy egy CRect objektumra, amely a tárolóalkalmazás ügyfélterületéhez képest megadja a helyszíni keretablak pozícióját.

lpClipRect
Mutasson egy RECT szerkezetre vagy egy CRect objektumra, amely a tárolóalkalmazás ügyfélterületéhez viszonyítva megadja a helyszíni keretablak kivágási téglalapját.

Megjegyzések

Szükség esetén felülbírálja ezt a függvényt a nézet nagyítási tényezőjének frissítéséhez.

Ezt a függvényt általában egy RequestPositionChange hívásra hívjuk meg, bár a tároló bármikor meghívhatja a helyhez tartozó elem helyzetének módosítására.

COleServerDoc::OnShowControlBars

A keretrendszer meghívja ezt a függvényt, hogy megjelenítse vagy elrejtse a kiszolgálóalkalmazás pFrameWndáltal azonosított keretablakhoz társított vezérlősávokat.

virtual void OnShowControlBars(
    CFrameWnd* pFrameWnd,
    BOOL bShow);

Paraméterek

pFrameWnd
Mutasson arra a keretablakra, amelynek vezérlősávjainak rejtettnek vagy láthatónak kell lenniük.

bShow
Meghatározza, hogy a vezérlősávok megjelennek-e vagy rejtettek-e.

Megjegyzések

Az alapértelmezett implementáció felsorolja a keretablakhoz tartozó összes vezérlősávot, és elrejti vagy megjeleníti őket.

COleServerDoc::OnShowDocument

A keretrendszer meghívja a OnShowDocument függvényt, ha a kiszolgálódokumentumnak rejtettnek vagy megjelenítendőnek kell lennie.

virtual void OnShowDocument(BOOL bShow);

Paraméterek

bShow
Megadja, hogy a dokumentum felhasználói felülete megjelenjen vagy rejtve legyen.

Megjegyzések

Ha bShow IGAZ, az alapértelmezett implementáció szükség esetén aktiválja a kiszolgálóalkalmazást, és a tárolóalkalmazás görgeti az ablakát, hogy az elem látható legyen. Ha bShow HAMIS, az alapértelmezett implementáció inaktiválja az elemet a OnDeactivatehívásával, majd megsemmisíti vagy elrejti a dokumentumhoz létrehozott összes keretablakot, kivéve az elsőt. Ha nem maradnak látható dokumentumok, az alapértelmezett implementáció elrejti a kiszolgálóalkalmazást.

COleServerDoc::OnUpdateDocument

A keretrendszer meghívja egy összetett dokumentumba beágyazott dokumentum mentésekor.

virtual BOOL OnUpdateDocument();

Visszaadott érték

Nem érvényes, ha a dokumentumot sikeresen frissítették; egyéb esetben 0.

Megjegyzések

Az alapértelmezett implementáció meghívja a COleServerDoc::NotifySaved és COleServerDoc::SaveEmbedding tagfüggvényeket, majd tisztaként jelöli meg a dokumentumot. Felülbírálja ezt a függvényt, ha speciális feldolgozást szeretne végezni egy beágyazott elem frissítésekor.

COleServerDoc::RequestPositionChange

Hívja meg ezt a tagfüggvényt, hogy a tárolóalkalmazás módosítsa az elem pozícióját.

void RequestPositionChange(LPCRECT lpPosRect);

Paraméterek

lpPosRect
Mutasson egy RECT szerkezetre vagy egy CRect objektumra, amely az elem új pozícióját tartalmazza.

Megjegyzések

Ezt a függvényt általában akkor hívjuk meg (UpdateAllItemsegyütt), ha egy helyi aktív elem adatai megváltoztak. A hívást követően előfordulhat, hogy a tároló a OnSetItemRectsmeghívásával végrehajtja a módosítást. Az eredményként kapott pozíció eltérhet a kérttől.

COleServerDoc::SaveEmbedding

Hívja meg ezt a függvényt, és kérje meg a tárolóalkalmazást, hogy mentse a beágyazott objektumot.

void SaveEmbedding();

Megjegyzések

Ezt a függvényt a rendszer automatikusan meghívja OnUpdateDocument. Vegye figyelembe, hogy ez a függvény az elemet lemezen frissíti, ezért általában csak egy adott felhasználói művelet eredményeként hívják meg.

COleServerDoc::ScrollContainerBy

Hívja meg a ScrollContainerBy tagfüggvényt, hogy görgesse a tárolódokumentumot a sizeScrolláltal megadott képpontban megadott összeggel.

BOOL ScrollContainerBy(CSize sizeScroll);

Paraméterek

sizeScroll
A tárolódokumentum görgetési távolságát jelzi.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

A pozitív értékek lefelé és jobbra görgetést jeleznek; a negatív értékek felfelé és balra görgetést jeleznek.

COleServerDoc::UpdateAllItems

Hívja meg ezt a függvényt, hogy értesítse a dokumentumhoz csatlakoztatott összes csatolt elemet arról, hogy a dokumentum megváltozott.

void UpdateAllItems(
    COleServerItem* pSender,
    LPARAM lHint = 0L,
    CObject* pHint = NULL,
    DVASPECT nDrawAspect = DVASPECT_CONTENT);

Paraméterek

pSender
Mutasson a dokumentumot módosító elemre, vagy null értékűre, ha az összes elemet frissíteni szeretné.

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
Meghatározza az elem rajzolásának módját. Ez a DVASPECT enumerálásából származó érték. Ez a paraméter a következő értékek egyiké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

Ezt a függvényt általában akkor hívja meg, ha a felhasználó módosítja a kiszolgálódokumentumot. Ha egy OLE-elem automatikus hivatkozással van csatolva a dokumentumhoz, az elem a változásoknak megfelelően frissül. A Microsoft Foundation osztálykönyvtárával írt tárolóalkalmazásokban a COleClientItemOnChange tagfüggvényét hívják meg.

Ez a függvény meghívja a OnUpdate tagfüggvényt a dokumentum minden eleméhez, kivéve a küldő elemet, átadva pHint, lHintés nDrawAspect. Ezekkel a paraméterekkel adatokat adhat át az elemeknek a dokumentum módosításairól. Az lHint használatával kódolhatja az adatokat, vagy definiálhat egy CObject-származtatott osztályt a módosítások adatainak tárolásához, valamint az osztály objektumának átadásához pHinthasználatával. A COleServerItem-származtatott osztály OnUpdate tagfüggvényének felülbírálása az egyes elemek frissítésének optimalizálásához attól függően, hogy a bemutatója módosult-e.

Lásd még:

MFC-minta HIERSVR
COleLinkingDoc osztály
hierarchiadiagram
COleDocument osztály
COleLinkingDoc osztály
COleTemplateServer osztály