Sdílet prostřednictvím


Uložení vlastního dokumentu

Prostředí zpracovává příkazy Uložit, Uložit jako a Uložit vše . Když uživatel klikne na Uložit, Uložit jako nebo Uložit vše v nabídce Soubor nebo zavře řešení, výsledkem bude Uložit vše následující proces.

Uložení editoru zákazníků

Ukládání, ukládání jako a ukládání všech příkazů pro vlastní editor

Tento proces je podrobně popsaný v následujících krocích:

  1. Pro příkazy Uložit a Uložit jako používá SVsShellMonitorSelection prostředí službu k určení aktivního okna dokumentu, a proto se mají uložit položky. Jakmile je okno aktivního dokumentu známé, prostředí najde ukazatel hierarchie a identifikátor položky (itemID) dokumentu ve spuštěné tabulce dokumentu. Další informace naleznete v tématu Spuštění tabulky dokumentů.

    Pro příkaz Uložit vše prostředí používá informace ve spuštěné tabulce dokumentů ke kompilaci seznamu všech položek k uložení.

  2. Když řešení přijme QueryStatus volání, iteruje se sadou vybraných položek (to znamená více výběrů vystavených službou SVsShellMonitorSelection ).

  3. U každé položky ve výběru řešení používá ukazatel hierarchie k volání IsItemDirty metody k určení, zda má být povolen příkaz nabídky Uložit. Pokud jsou některé položky špinavé, je povolen příkaz Uložit. Pokud hierarchie používá standardní editor, pak hierarchie deleguje dotazování na zašpiněný stav editoru voláním IsDocDataDirty metody.

  4. U každé položky, která je zašpiněná, použije řešení ukazatel hierarchie k volání SaveItem metody v příslušných hierarchiích.

    V případě vlastního editoru je komunikace mezi datovým objektem dokumentu a projektem soukromá. Proto se mezi těmito dvěma objekty zpracovávají všechny zvláštní obavy o trvalost.

    Poznámka:

    Pokud implementujete vlastní trvalost, nezapomeňte metodu QuerySaveFiles volat, abyste ušetřili čas. Tato metoda zkontroluje, jestli je bezpečné soubor uložit (například soubor není jen pro čtení).