Nabídky a prostředky: Sloučení nabídky
Tento článek podrobně popisuje kroky nezbytné pro aplikace OLE dokumentu ke zpracování vizuální úpravy a aktivace na místě správně.Místní aktivace představuje výzvu pro kontejner i server aplikací (komponenty).Uživatel zůstane v okně rámce (v rámci dokument kontejneru), ale je ve skutečnosti spuštěna jiná aplikace (server).To vyžaduje koordinaci zdrojů kontejneru a serverové aplikace.
Témata v tomto článku zahrnují:
Nabídka rozložení
Panely nástrojů a stavový
Nabídka rozložení
Prvním krokem je koordinovat nabídky rozložení.Další informace naleznete v tématu Vytvoření nabídky v oddílu Nabídka programování důležité informace o v Windows SDK.
Aplikace typu kontejner by měl vytvořit novou nabídku pro použití pouze v případě, že vložené položky, které jsou aktivovány v místě.Minimálně by měla tato nabídka skládá z následujících kroků v uvedeném pořadí:
Nabídka Soubor je identická s tabulkou používá, pokud jsou otevřeny soubory. (Obvykle žádné položky nabídky jsou umístěny před další položku.)
Dva po sobě jdoucí oddělovače.
Nabídka okna stejná používá, pokud jsou otevřeny soubory (pouze tehdy, pokud v aplikaci MDI aplikace kontejneru).Některé aplikace mohou mít jiné nabídky, například nabídku voleb, které patří do této skupiny, která zůstává v nabídce při aktivaci vloženého zboží na místě.
[!POZNÁMKA]
Mohou existovat další nabídky, které mají vliv na zobrazení dokument kontejneru, jako je Lupa.Tyto nabídky kontejneru umístit mezi dva oddělovače v nabídce zdroje.
Aplikace (součást) by také vytvořit novou nabídku speciálně pro aktivaci na místě.By mělo být stejně jako nabídka používá, pokud jsou otevřeny soubory, ale bez položky nabídky soubor a okna, které dokumentu na serveru, nikoli data.Obvykle tato nabídka obsahuje následující:
Upravte nabídku stejná používá, pokud jsou otevřeny soubory.
Oddělovač.
Objekt upravovat nabídky, například nabídka pero v ukázkové aplikaci Klikyháky.
Oddělovač.
Nabídka Nápověda.
Pro příklad podívejte se na rozložení některé místní nabídky vzorek pro kontejner i server.Aby byl příklad srozumitelnější byly odebrány podrobnosti o každé položky nabídky.Na kontejner místní nabídka obsahuje následující položky:
IDR_CONTAINERTYPE_CNTR_IP MENU PRELOAD DISCARDABLE
BEGIN
POPUP "&File C1"
MENUITEM SEPARATOR
POPUP "&Zoom C2"
MENUITEM SEPARATOR
POPUP "&Options C3"
POPUP "&Window C3"
END
Po sobě jdoucí oddělovače označují, kde by měli přejít první část nabídky na serveru.Podívejte se nyní na serveru v místní nabídce:
IDR_SERVERTYPE_SRVR_IP MENU PRELOAD DISCARDABLE
BEGIN
POPUP "&Edit S1"
MENUITEM SEPARATOR
POPUP "&Format S2"
MENUITEM SEPARATOR
POPUP "&Help S3"
END
Oddělovače zde určete, kde by měli přejít druhé skupině kontejneru položek nabídky.Výsledná struktura nabídky při aktivaci objektu z tohoto serveru na místě uvnitř tohoto kontejneru vypadá takto:
BEGIN
POPUP "&File C1"
POPUP "&Edit S1"
POPUP "&Zoom C2"
POPUP "&Format S2"
POPUP "&Options C3
POPUP "&Window C3"
POPUP "&Help S3"
END
Jak můžete vidět, byly nahrazeny oddělovače s různými skupinami nabídky jednotlivých aplikací.
V místní nabídce přidružené tabulky akcelerátoru by měla být zásobováno serverové aplikace.Kontejner je začlenit do svých tabulek akcelerátoru.
Při aktivaci vloženého zboží na místě, systém načte z místní nabídky.Potom požádá server žádost o její nabídce pro aktivaci na místě a vloží je kde jsou oddělovače.Je to, jak zkombinovat nabídek.Získat nabídky z kontejneru za provoz na umístění souboru a okno a obdržíte nabídky od serveru pro položku.
Panely nástrojů a stavový
Serverové aplikace by měla vytvořit nový panel nástrojů a jeho rastrový obrázek uložit do samostatného souboru.Wizard–generated aplikace tento rastrový obrázek uložte do souboru s názvem ITOOLBAR.BMP.Nový panel nástrojů nahradí aplikace kontejneru nástrojů položku serveru aktivován v místě, by měla obsahovat stejné položky jako normální panelu nástrojů, ale odebrat ikony představující položky nabídky soubor a okna.
Tento panel nástrojů je načten do vašeho COleIPFrameWnd-odvozené třídy, můžete vytvořit pomocí Průvodce aplikace.Stavový řádek je zpracována v aplikaci kontejneru.Další informace o provádění přímo v rámci systému windows, naleznete v servery: implementace serveru.