Sdílet prostřednictvím


Kontejnery: Rozšířené funkce

Tento článek popisuje kroky nezbytné začlenit do existující aplikace kontejneru volitelné pokročilé funkce.Tyto funkce jsou:

  • Aplikace, která je kontejner a server

  • Propojení OLE vložený objekt

Vytváření aplikace kontejneru Server

Aplikace kontejneru server je aplikace, která slouží jako kontejner a serveru.Microsoft Word pro Windows je například.Dokumenty Word pro Windows lze vložit do jiné aplikace a vložit položky v dokumentech aplikace Word pro Windows.Proces pro úpravy v aplikaci kontejneru kontejner a celého serveru (nelze vytvořit aplikace kontejneru nebo miniserver kombinace) je podobný procesu vytváření celého serveru.

V článku servery: provádění serveru uvádí počet úkolů požadovaných k implementaci aplikací serveru.Pokud převedete aplikace kontejneru do kontejneru server, je třeba k provedení některých těchto stejných úkolů přidání kódu kontejneru.Následující seznam obsahuje důležité věci zvážit:

  • Kód kontejneru již vytvořené pomocí Průvodce aplikace inicializuje podsystému OLE.Není nutné změnit nebo přidat cokoli pro podpory.

  • Všude, kde je základní třída třída dokumentu COleDocument, změnit základní třídy na COleServerDoc.

  • Přepsat COleClientItem::CanActivate zabránit úpravu položek v místě samotný server používá upravit na místě.

    Například MFC OLE vzorku OCLIENT obsahuje vložené položky vytvořené aplikace kontejneru server.Otevřete aplikaci OCLIENT a místní úpravy položky vytvořené aplikace kontejneru server.Při úpravách položky aplikace rozhodnout, chcete-li vložit položky vytvořené vzorku MFC OLE HIERSVR.Chcete-li to provést, nelze použít místní aktivace.Plně HIERSVR aktivovat tuto položku otevřete.Protože knihovny Microsoft Foundation Class nepodporuje tuto funkci OLE, potlačení COleClientItem::CanActivate umožňuje vyhledat tuto situaci a zabránit možné Chyba spuštění aplikace.

Pokud vytváříte novou aplikaci a chcete, aby fungoval jako aplikace kontejneru server, zvolte automaticky vytvoří možnost v dialogovém okně Možnosti OLE v Průvodci aplikace a tato podpora.Další informace naleznete v článku Přehled: vytváření kontejneru ActiveX Ovládací.Informace o vzorcích MFC naleznete vzory MFC.

Všimněte si, že aplikace MDI nelze vložit do samotné.Aplikace kontejneru server nelze vložit do sebe, není aplikace SDI.

Propojení s vloženými objekty

Odkazy na objekty vložené funkce umožňuje uživateli vytvořit dokument s propojení OLE pro objekt v aplikaci kontejneru.Můžete například vytvořte dokument obsahující vložené tabulky aplikace word procesoru.Pokud vaše aplikace podporuje propojení pro vložené objekty, nelze vložit propojení na tabulky obsažené v dokumentu textového procesoru.Tato funkce umožňuje aplikacím informace obsažené v tabulce bez znalosti, kde textový procesor původně obdržel ji.

Propojení vložených objektů v aplikaci

  1. Odvození třídy z dokumentu COleLinkingDoc namísto COleDocument.

  2. Vytvoření ID třídy OLE (CLSID) pomocí generátoru ID třídy OLE vývojových nástrojů je součástí aplikace.

  3. Zaregistrujte aplikaci OLE.

  4. Vytvoření COleTemplateServer objektu jako člen třídy aplikace.

  5. Třídu aplikace v InitInstance člen fungovat, proveďte následující:

    • Připojit vaše COleTemplateServer objektu šablony dokumentu voláním objektu ConnectTemplate členské funkce.

    • Volání COleTemplateServer::RegisterAll členské funkce systému OLE zaregistrovat všechny třídy objektů.

    • Call COleTemplateServer::UpdateRegistry.Jediný parametr UpdateRegistry by měla být OAT_CONTAINER Pokud aplikace není spuštěn s přepínačem / Embedded".Tato aplikace registruje jako kontejner, který podporuje propojení s vloženými objekty.

      Pokud je aplikaci spustit s přepínačem / Embedded", by jeho hlavní okno podobné aplikace serveru není zobrazit.

Vzorek MFC OLE OCLIENT implementuje tuto funkci.Příklad jak to provést, naleznete InitInstance OCLIENT funkce.Soubor CPP ukázkové aplikace.

Viz také

Koncepty

Kontejnery

Servery