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
Inicializace knihoven OLE voláním AfxOleInit v InitInstance členské funkce.
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í
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.
Přepsat IsSelected Chcete-li zkontrolovat, zda aktuálně vybranou položku do ní.
Implementovat OnInsertObject popisovač zprávy zobrazit Vložit objekt dialogové okno.
Implementovat OnSetFocus zprávu obslužné rutiny k přenosu fokus z pohledu do OLE v místě aktivního vložené položky.
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
Odvození třídy z COleClientItem.Objekty této třídy představují položky, které byly vloženy do nebo OLE dokumentu propojena.
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.