Sdílet prostřednictvím


Kontejnery: Implementace kontejneru

Tento článek shrnuje postup implementace kontejneru a odkazuje na další články, které poskytují podrobnější vysvětlení o implementaci kontejnery.V něm také některé volitelné funkce OLE, který chcete implementovat a články popisující tyto funkce.

K přípravě vaší CWinApp odvozené třídy

  1. Inicializace knihoven OLE voláním AfxOleInit v InitInstance členské funkce.

  2. Volání CDocTemplate::SetContainerInfo v InitInstance přiřazení nabídek a klávesových zkratek prostředky používané při vložená položka je aktivován v místě.Další informace o tomto tématu naleznete v tématu Aktivace.

Tyto funkce jsou k dispozici pro vás automaticky při vytvoření kontejneru aplikace pomocí Průvodce aplikací knihovny MFC.Viz Vytvoření aplikace knihovny MFC EXE.

K přípravě vaší třídy zobrazení

  1. Sledovat udržováním ukazatel jednotlivé vybrané položky nebo seznamu ukazatelů podporuje vícenásobný výběr, chcete-li vybrané položky.Vaše OnDraw funkce musí nakreslit všechny položky OLE.

  2. Přepsat IsSelected Chcete-li zkontrolovat, zda aktuálně vybranou položku do ní.

  3. Implementovat OnInsertObject popisovač zprávy zobrazit Vložit objekt dialogové okno.

  4. Implementovat OnSetFocus zprávu obslužné rutiny k přenosu fokus z pohledu do OLE v místě aktivního vložené položky.

  5. Implementovat OnSize popisovač zprávy informovat OLE vložené položky je třeba změnit jeho obdélník tak, aby odrážely změny velikosti jeho obsahující zobrazení.

Vzhledem k tomu, že provádění těchto funkcí se výrazně liší z jedné aplikace do dalšího Průvodce aplikace poskytuje základní implementaci.Pravděpodobně je nutné upravit tyto funkce, chcete-li získat správnou funkci aplikace.Příklad, naleznete kontejner vzorku.

Zpracování vložených a propojených položek

  1. Odvození třídy z COleClientItem.Objekty této třídy představují položky, které byly vloženy do nebo OLE dokumentu propojena.

  2. Override OnChange, OnChangeItemPosition, and OnGetItemPosition.Tyto funkce zpracování pro změnu velikosti, umístění a změna vložené a propojené položky.

Průvodce aplikací se odvozuje třídu pro vás, ale bude pravděpodobně nutné potlačit Při změně a dalších funkcí je uvedeny v kroku 2 předchozího postupu.Kostry implementací nutné přizpůsobit pro většinu aplikací, protože tyto funkce jsou implementovány jinak z jedné aplikace do dalšího.Příklady tohoto naleznete v tématu ukázky knihovny MFC DRAWCLI a kontejner.

Počet položek, je nutné přidat do struktury nabídky aplikace kontejneru OLE podporují.Další informace naleznete v tématu nabídky a zdroje: kontejner doplňky.

Můžete také chtít podporovat některé z následujících funkcí v aplikaci kontejneru:

  • Aktivace na místě při úpravách vložené položky.

    Další informace naleznete v tématu Aktivace.

  • Vytvoření OLE položky přetažením výběru od serverové aplikace.

    Další informace naleznete v tématu přetáhněte a přetažení OLE ().

  • Odkazy na vložené objekty nebo kombinace kontejneru/server aplikací.

    Další informace naleznete v tématu nádoby: pokročilé funkce.

Viz také

Koncepty

Kontejnery

Kontejnery: Klientské položky