Aktivace (C++)
Tento článek vysvětluje roli aktivace ve vizuální úpravě položek OLE. Jakmile uživatel vloží položku OLE do dokumentu kontejneru, bude možná potřeba ji použít. Uděláte to tak, že uživatel poklikne na položku, která tuto položku aktivuje. Nejčastější aktivitou aktivace je úprava. Mnoho aktuálních položek OLE při aktivaci pro úpravy způsobí, že nabídky a panely nástrojů v aktuálním okně rámce se změní tak, aby odrážely položky, které patří do serverové aplikace, která položku vytvořila. Toto chování, označované jako místní aktivace, umožňuje uživateli upravovat všechny vložené položky ve složeném dokumentu bez opuštění okna dokumentu kontejneru.
Vložené položky OLE je také možné upravit v samostatném okně. K tomu dojde, pokud buď kontejnerová nebo serverová aplikace nepodporuje místní aktivaci. V tomto případě, když uživatel dvakrát klikne na vloženou položku, serverová aplikace se spustí v samostatném okně a vložená položka se zobrazí jako vlastní dokument. Uživatel upraví položku v tomto okně. Po dokončení úprav uživatel zavře serverové aplikace a vrátí se do aplikace kontejneru.
Jako alternativu může uživatel zvolit "otevřít úpravy" pomocí objektu <> Otevřít příkaz v nabídce Upravit. Tím se objekt otevře v samostatném okně.
Poznámka
Úpravy vložených položek v samostatném okně byly standardní chování ve verzi 1 OLE a některé aplikace OLE mohou podporovat pouze tento styl úprav.
Místní aktivace podporuje přístup zaměřený na dokument při vytváření dokumentu. Uživatel může pracovat se složeným dokumentem jako s jednou entitou a pracovat na něm bez přepínání mezi aplikacemi. Místní aktivace se ale používá jenom pro vložené položky, ne pro propojené položky: musí být upraveny v samostatném okně. Důvodem je to, že propojená položka je ve skutečnosti uložena na jiném místě. Úpravy propojené položky se provádí ve skutečném kontextu dat, tedy v místě, kde jsou data uložena. Úprava propojené položky v samostatném okně uživateli připomíná, že data patří do jiného dokumentu.
MFC nepodporuje vnořenou místní aktivaci. Pokud sestavíte aplikaci typu kontejner/server a tento kontejner/server je vložený do jiného kontejneru a je aktivovaný na místě, nemůže v něm vložené objekty aktivovat.
Co se stane s vloženou položkou, když uživatel dvakrát klikne, závisí na příkazech definovaných pro danou položku. Informace naleznete v tématu Aktivace: Příkazy.