Поделиться через


Сохранение пользовательского документа

Дескрипторы среды Save" Save Asи Save All команды. Когда пользователь щелкает Сохранить" Сохранить как" или сохранить все на Файл меню или закрывает решение сохранить все, что выполняется следующий процесс.

Сохранить, сохранить как и сохраните всю обработку команд для специализированного редактора

Сохранение редактора клиента

Этот процесс детализирован в следующих шагах.

  1. Для Сохранить и Сохранить как команды среды используют SVsShellMonitorSelection служба, чтобы определить окно активного документа и, таким образом, какие элементы должны быть сохранены. После того как окно активного документа известно, среда находит идентификатор указателей и элемента иерархии (itemID) для документа в таблице текущих документов. Дополнительные сведения см. в разделе таблица запущенных документов.

    Для сохранения всю команду среда использует сведения в таблице текущих документа, чтобы компилировать список всех элементов для сохранения.

  2. Если решение возвращает QueryStatus вызов он проходит по набору выбранных элементов (то есть вариантов выбора нескольких элементов, предоставляемых SVsShellMonitorSelection служба).

  3. Для каждого элемента в выделении решение использует указатель иерархии для вызова IsItemDirty метод позволяет определить, должна ли команда меню сохранения быть включена. Если один или несколько элементов пакостны, то команда save включена. Если иерархия использует стандартный редактор, то иерархия делегатов запроса пакостного состояния к редактору путем вызова IsDocDataDirty метод.

  4. На каждом выбранном элементе, пакостн решение использует указатель иерархии для вызова SaveItem метод на соответствующих иерархиях.

    В случае специализированного редактора, взаимодействие между объектом данных документа и проектом закрыто. Таким образом, все особые вопросы, связанные с сохраняемости обрабатывается между этими 2 объектами.

    Примечание

    При реализации собственной сохраняемость, не забудьте вызвать QuerySaveFiles метод, чтобы сэкономить время.Этот метод проверяет, чтобы убедиться, что безопасно сохранить файл (например, файл доступен не только для чтения).

См. также

Ссылки

IOleCommandTarget

Другие ресурсы

Элементы проекта открытие и сохранение