Пошаговое руководство. открытие редакторов, зависящих от проекта

Если файл элемента, открываемый проектом, внутренне привязан к конкретному редактору для этого проекта, проект должен открыть файл с помощью редактора, зависящего от проекта. Не удается делегировать файл механизму IDE для выбора редактора. Например, вместо стандартного редактора точечных рисунков можно использовать этот параметр редактора для конкретного проекта, чтобы указать конкретный редактор растровых изображений, который распознает сведения в файле, который уникален для вашего проекта.

Интегрированная среда разработки вызывает OpenItem метод, когда он определяет, что файл должен быть открыт конкретным проектом. Дополнительные сведения см. в разделе Отображение файлов с помощью команды открыть файл. Используйте следующие рекомендации для реализации метода, OpenItem чтобы проект открывал файл с помощью специального редактора.

Реализация метода Опенитем с помощью редактора для конкретного проекта

  1. Вызовите FindAndLockDocument метод ( RDT_EditLock ), чтобы определить, открыт ли файл (объект данных документа).

    Примечание

    Дополнительные сведения о данных документа и объектах представления документов см. в разделе данные документа и представление документа в пользовательских редакторах.

  2. Если файл уже открыт, переsurfaceйте его, вызвав IsDocumentOpen метод и указав значение IDO_ActivateIfOpen для grfIDO параметра.

    Если файл открыт, а документ принадлежит проекту, отличному от вызывающего проекта, пользователю будет выдано предупреждение о том, что редактор открывается из другого проекта. Затем отображается окно файла.

  3. Если текстовый буфер (объект данных документа) уже открыт и вы хотите вложить в него другое представление, вы несете ответственность за подключение этого представления. Для создания экземпляра представления (объекта представления документа) из проекта рекомендуется использовать следующий подход:

    1. Вызовите QueryService SLocalRegistry службу, чтобы получить указатель на ILocalRegistry2 интерфейс.

    2. Вызовите CreateInstance метод, чтобы создать экземпляр класса представления документов.

  4. Вызовите CreateDocumentWindow метод, указав объект представления документа.

    Этот метод разсайтов объект представления документа в окне документа.

  5. Выполните соответствующие вызовы InitNew Load методов или.

    На этом этапе представление должно быть полностью инициализировано и готово к открытию.

  6. Вызовите Show метод, чтобы показать и открыть представление.

См. также раздел