Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Implementuje další rozhraní OLE potřebná k vytvoření normálního COleDocument serveru na úplný server DocObject: IOleDocument, IOleDocumentView, IOleCommandTargeta IPrint.
Syntaxe
class CDocObjectServer : public CCmdTarget
Členové
Veřejné konstruktory
| Název | Popis |
|---|---|
| CDocObjectServer::CDocObjectServer |
CDocObjectServer Vytvoří objekt. |
Veřejné metody
| Název | Popis |
|---|---|
| CDocObjectServer::ActivateDocObject | Aktivuje server objektů dokumentu, ale nezobrazuje ho. |
Chráněné metody
| Název | Popis |
|---|---|
| CDocObjectServer::OnActivateView | Zobrazí zobrazení DocObject. |
| CDocObjectServer::OnApplyViewState | Obnoví stav zobrazení DocObject. |
| CDocObjectServer::OnSaveViewState | Uloží stav zobrazení DocObject. |
Poznámky
CDocObjectServer je odvozen z CCmdTarget rozhraní a úzce spolupracuje s COleServerDoc jejich zveřejněním.
Dokument serveru DocObject může obsahovat objekty CDocObjectServerItem , které představují rozhraní serveru pro položky DocObject.
Chcete-li přizpůsobit server DocObject, odvodit vlastní třídu z CDocObjectServer a přepsat jeho instalační funkce zobrazení, OnActivateView, OnApplyViewState a OnSaveViewState. V reakci na volání architektury budete muset poskytnout novou instanci vaší třídy.
Další informace o DocObjects naleznete v tématu CDocObjectServerItem a COleCmdUI v referenční dokumentaci MFC.
Hierarchie dědičnosti
CDocObjectServer
Požadavky
Hlavička: afxdocob.h
CDocObjectServer::ActivateDocObject
Voláním této funkce aktivujete (ale nezobrazí) server objektů dokumentu.
void ActivateDocObject();
Poznámky
ActivateDocObject volá IOleDocumentSitemetodu ActivateMe , ale nezobrazuje zobrazení, protože čeká na konkrétní pokyny k nastavení a zobrazení zobrazení, které je uvedeno ve volání CDocObjectServer::OnActivateView.
ActivateDocObject Společně a OnActivateView aktivujte a zobrazte zobrazení DocObject. Aktivace Objektu DocObject se liší od jiných druhů místní aktivace OLE. Aktivace Objektu DocObject obchází zobrazení místních ohraničení šrafování a doplňků objektů (například úchytů pro změnu velikosti), ignoruje funkce rozsahu objektů a nakreslí posuvníky v obdélníku zobrazení, na rozdíl od jejich vykreslení mimo tento obdélník (jako v normální místní aktivaci).
CDocObjectServer::CDocObjectServer
Vytvoří a inicializuje CDocObjectServer objekt.
explicit CDocObjectServer(
COleServerDoc* pOwner,
LPOLEDOCUMENTSITE pDocSite = NULL);
Parametry
Vlastník pOwner
Ukazatel na dokument klientské lokality, který je klientem pro server DocObject.
pDocSite
Ukazatel na IOleDocumentSite rozhraní implementované kontejnerem.
Poznámky
Když je objekt DocObject aktivní, rozhraní OLE klientské lokality (IOleDocumentSite) umožňuje serveru DocObject komunikovat s jeho klientem (kontejnerem). Při aktivaci serveru DocObject nejprve zkontroluje, že kontejner implementuje IOleDocumentSite rozhraní. Pokud ano, COleServerDoc::GetDocObjectServer je volána, aby se zjistilo, jestli kontejner podporuje DocObjects. Ve výchozím nastavení GetDocObjectServer vrátí hodnotu NULL. Chcete-li vytvořit nový COleServerDoc::GetDocObjectServer objekt nebo odvozený objekt vlastní, je nutné přepsat CDocObjectServer ukazatele na COleServerDoc kontejner a jeho IOleDocumentSite rozhraní jako argumenty konstruktoru.
CDocObjectServer::OnActivateView
Voláním této funkce zobrazíte zobrazení DocObject.
virtual HRESULT OnActivateView();
Návratová hodnota
Vrátí chybu nebo hodnotu upozornění. Ve výchozím nastavení vrátí funkce NOERROR, pokud je úspěšná; jinak E_FAIL.
Poznámky
Tato funkce vytvoří místní rámeček okno, nakreslí posuvníky v zobrazení, nastaví nabídky, které server sdílí se svým kontejnerem, přidá ovládací prvky rámečku, nastaví aktivní objekt a nakonec zobrazí místní okno rámečku a nastaví fokus.
CDocObjectServer::OnApplyViewState
Přepište tuto funkci, aby se obnovil stav zobrazení DocObject.
virtual void OnApplyViewState(CArchive& ar);
Parametry
ar
Objekt CArchive , ze kterého chcete serializovat stav zobrazení.
Poznámky
Tato funkce se volá při prvním zobrazení zobrazení po vytvoření instance.
OnApplyViewState dává pokyn zobrazení k opětovné inicializaci sebe podle dat v objektu CArchive dříve uloženém pomocí OnSaveViewState. Zobrazení musí ověřit data v objektu CArchive , protože se kontejner nepokoušá interpretovat data o stavu zobrazení žádným způsobem.
Můžete použít OnSaveViewState k ukládání trvalých informací specifických pro stav zobrazení. Pokud přepíšete OnSaveViewState ukládání informací, budete chtít tyto informace přepsat OnApplyViewState , abyste tyto informace přečetli a použili ho v zobrazení, když je nově aktivovaný.
CDocObjectServer::OnSaveViewState
Přepište tuto funkci, aby se uložily další informace o stavu zobrazení DocObject.
virtual void OnSaveViewState(CArchive& ar);
Parametry
ar
CArchive Objekt, do kterého je stav zobrazení serializován.
Poznámky
Váš stav může obsahovat vlastnosti, jako je typ zobrazení, faktor přiblížení, kurzor a bod výběru atd. Kontejner obvykle volá tuto funkci před deaktivací zobrazení. Uložený stav lze později obnovit prostřednictvím OnApplyViewState.
Můžete použít OnSaveViewState k ukládání trvalých informací specifických pro stav zobrazení. Pokud přepíšete OnSaveViewState ukládání informací, budete chtít tyto informace přepsat OnApplyViewState , abyste tyto informace přečetli a použili ho v zobrazení, když je nově aktivovaný.
Viz také
CCmdTarget – třída
Graf hierarchie
CDocObjectServerItem – třída