Servery: Položky Server
Když kontejner spustí server tak, aby uživatel může upravovat položky vložený nebo propojený OLE, vytvoří aplikace serveru "položka serveru". Položky serveru je objekt třídy odvozené z COleServerItem, poskytuje rozhraní mezi dokumentem server a aplikací kontejneru.
COleServerItem Třída definuje několik overridable členské funkce, které jsou volány OLE, obvykle v reakci na požadavky z kontejneru.Položky serveru může představovat část dokumentu server nebo celý dokument.Položky OLE je vložený v dokumentu kontejneru, položka serveru představuje dokument celý server.Položka OLE propojen, položky serveru může představovat část dokumentu server nebo celý dokument, v závislosti na tom, zda je odkaz na část nebo celé.
V HIERSVR vzorek například třída položku server CServerItem, má člen, který je ukazatel na objekt třídy CServerNode.CServerNode objekt je uzel v dokumentu aplikace HIERSVR je strom.Když CServerNode objekt je kořenový uzel CServerItem objekt představuje celý dokument.Když CServerNode objekt je podřízený uzel CServerItem objekt představuje část dokumentu.Viz vzorku MFC OLE HIERSVR Příklad této interakce.
Implementace serveru položky
Pokud použijete Průvodce aplikací vyrábět "počáteční" kód aplikace, stačí kód starter zahrnout položky serveru je zvolte jednu z možností serveru ze stránky možnosti OLE.Pokud přidáváte položky server do existující aplikace, proveďte následující kroky:
Implementovat položku server
Odvození třídy z COleServerItem.
V odvozené třídě, přepsat OnDraw členské funkce.
Volání rámci OnDraw zboží OLE vykreslit do metasouboru.Aplikace kontejneru používá tento metasoubor vykreslit položku.Třída zobrazení aplikace má také OnDraw členské funkce sloužící k vykreslení zboží, když aplikační server je aktivní.
Provádění přepsání OnGetEmbeddedItem pro třídy dokumentů na serveru.Další informace naleznete v článku servery: prováděcí dokumenty na serveru a ukázkové MFC OLE HIERSVR.
Implementace třídy položky server OnGetExtent členské funkce.Rámci volání této funkce můžete získat velikost položky.Výchozí implementace neprovede žádnou akci.
Tip pro položku Server architekturu
V Položek implementaci serveru, serverových aplikací musí být schopen vykreslování položek v zobrazení na serveru a v metasouboru používá aplikace kontejneru.Knihovny serveru Microsoft Foundation Class aplikace architektuře zobrazení třídy na OnDraw členské funkce vykreslí položky, pokud je upravována (viz CView::OnDraw v Reference knihovny třídy).Položka server OnDraw vykreslí položky do metasouboru ve všech ostatních případech (viz COleServerItem::OnDraw).
Duplikace kódu můžete vyhnout psaní pomocné funkce ve své třídě dokumentů na serveru a volání z OnDraw funkcí a tříd jakosti zobrazení a položku serveru.Vzorek MFC OLE HIERSVR používá tato strategie: funkce CServerView::OnDraw a CServerItem::OnDraw i volání CServerDoc::DrawTree vykreslit položku.
Zobrazení a položky mají OnDraw členské funkce, protože jejich kreslit za různých podmínek.Zobrazení musí brát v úvahu takové faktory, jako přiblížení, výběr velikosti a rozsahu, ořezové a prvky uživatelského rozhraní, jako je například posuvníky.Položky serveru na druhé straně vždy nakreslí celý objekt OLE.
Další informace naleznete v CView::OnDraw, COleServerItem, COleServerItem::OnDraw, a COleServerDoc::OnGetEmbeddedItem v Reference knihovny třídy.