Sdílet prostřednictvím


CDocObjectServer – třída

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

Objekt CObject

CCmdTarget

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ý CDocObjectServer objekt nebo odvozený objekt vlastní, je nutné přepsat COleServerDoc::GetDocObjectServer 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