Sdílet prostřednictvím


Nabídky a prostředky (OLE)

Tato skupina článků vysvětluje použití nabídek a prostředků v dokumentových aplikacích MFC OLE.

Úpravy vizuálu OLE umístí další požadavky na nabídku a další prostředky poskytované aplikacemi dokumentů OLE, protože existují různé režimy, ve kterých lze spustit a používat aplikace typu kontejner i server (komponenta). Například plnohodnotná serverová aplikace může běžet v některém z těchto tří režimů:

  • Samostatné.

  • Místo pro úpravu položky v kontextu kontejneru.

  • Otevření pro úpravu položky mimo kontext kontejneru, často v samostatném okně.

To vyžaduje tři samostatná rozložení nabídek, jedno pro každý možný režim aplikace. Tabulky akcelerátorů jsou také nezbytné pro každý nový režim. Aplikace kontejneru může nebo nemusí podporovat místní aktivaci; Pokud ano, potřebuje novou strukturu nabídek a přidružené tabulky akcelerátorů.

Místní aktivace vyžaduje, aby se aplikace typu kontejner a server vyjednaly pro nabídku, panel nástrojů a místo na stavovém řádku. Všechny prostředky musí být navrženy s ohledem na to. Článek Nabídky a zdroje: Slučování nabídek podrobně popisuje toto téma.

Kvůli těmto problémům můžou mít aplikace dokumentů OLE vytvořené pomocí průvodce aplikací až čtyři samostatné nabídky a prostředky tabulky akcelerátorů. Používají se z následujících důvodů:

Název prostředku Použít
IDR_MAINFRAME Používá se v aplikaci MDI, pokud není otevřen žádný soubor nebo v aplikaci SDI bez ohledu na otevřené soubory. Toto je standardní nabídka použitá v aplikacích jiných než OLE.
<typ projektu>IDR_ Používá se v aplikaci MDI, pokud jsou soubory otevřené. Používá se, když aplikace běží samostatně. Toto je standardní nabídka použitá v aplikacích jiných než OLE.
<TYPE_SRVR_IP projektu>IDR_ Používá se serverem nebo kontejnerem, když je objekt otevřený.
<IDR_projektové>TYPE_SRVR_EMB Používá se serverovou aplikací, pokud je objekt otevřen bez použití místní aktivace.

Každý z těchto názvů prostředků představuje nabídku a obvykle tabulku akcelerátoru. Podobné schéma by se mělo použít v aplikacích MFC, které nejsou vytvořeny pomocí průvodce aplikací.

Následující články popisují témata týkající se kontejnerů, serverů a slučování nabídek nezbytných k implementaci místní aktivace:

Viz také

OLE