EditorFactory.CreateEditorInstance(UInt32, String, String, IVsHierarchy, UInt32, IntPtr, IntPtr, IntPtr, String, Guid, Int32) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Этот метод проверяет, является ли указанный файл файлом, поддерживаемым редактором, и, если да, создает основной текстовый редактор и связывает свою языковую службу с ней. Чтобы выяснить, что файл поддерживает редактор, выполните следующую проверку: Если все это верно, это позволит получить буфер IVsTextLines и настроить его следующим образом: Наконец, он вызывает Креатидиторвиев для создания docView.
public:
virtual int CreateEditorInstance(System::UInt32 createDocFlags, System::String ^ moniker, System::String ^ physicalView, Microsoft::VisualStudio::Shell::Interop::IVsHierarchy ^ pHier, System::UInt32 itemid, IntPtr existingDocData, [Runtime::InteropServices::Out] IntPtr % docView, [Runtime::InteropServices::Out] IntPtr % docData, [Runtime::InteropServices::Out] System::String ^ % editorCaption, [Runtime::InteropServices::Out] Guid % cmdUI, [Runtime::InteropServices::Out] int % cancelled);
public virtual int CreateEditorInstance (uint createDocFlags, string moniker, string physicalView, Microsoft.VisualStudio.Shell.Interop.IVsHierarchy pHier, uint itemid, IntPtr existingDocData, out IntPtr docView, out IntPtr docData, out string editorCaption, out Guid cmdUI, out int cancelled);
abstract member CreateEditorInstance : uint32 * string * string * Microsoft.VisualStudio.Shell.Interop.IVsHierarchy * uint32 * nativeint * nativeint * nativeint * string * Guid * int -> int
override this.CreateEditorInstance : uint32 * string * string * Microsoft.VisualStudio.Shell.Interop.IVsHierarchy * uint32 * nativeint * nativeint * nativeint * string * Guid * int -> int
Public Overridable Function CreateEditorInstance (createDocFlags As UInteger, moniker As String, physicalView As String, pHier As IVsHierarchy, itemid As UInteger, existingDocData As IntPtr, ByRef docView As IntPtr, ByRef docData As IntPtr, ByRef editorCaption As String, ByRef cmdUI As Guid, ByRef cancelled As Integer) As Integer
Параметры
- createDocFlags
- UInt32
Флаги, определяющие условия, при которых создается базовый редактор.
- moniker
- String
Строковый формат идентификатора моникера документа в системе проектов. В случае документов, представляющих собой файлы, это всегда путь к файлу. Этот параметр может также использоваться для определения документов, не являющихся файлами. Например, в проекте, ориентированном на базу данных, данный параметр может содержать строку, ссылающуюся на записи в таблице.
- physicalView
- String
Имя физического представления.
- pHier
- IVsHierarchy
Объект IVsHierarchy.
- itemid
- UInt32
Идентификатор элемента базового экземпляра редактора.
- existingDocData
- IntPtr
Должен являться объектом docData, который регистрируется в таблице выполняющихся документов (RDT). Этот параметр используется для указания, создан ли уже буфер документа (объект Document Data ). Если фабрике редактора предлагается создать вторичное представление, этот параметр будет иметь отличное от NULL значение, указывающее на отсутствие буфера документов.
- docView
- IntPtr
Объект представления документа. Возвращает NULL если внешний редактор существует, в противном случае возвращает представление документа.
- docData
- IntPtr
Объект данных документа. Возвращает буфер документа.
- editorCaption
- String
Начальный заголовок, определенный редактором документа для окна документа. Обычно это строка, заключенная в квадратные скобки, например, [Form]. Это значение передается как входной параметр в метод CreateDocumentWindow(UInt32, String, IVsUIHierarchy, UInt32, IntPtr, IntPtr, Guid, String, Guid, IServiceProvider, String, String, Int32[], IVsWindowFrame). Если файл только для чтения, подпись устанавливается во время загрузки файла.
- cmdUI
- Guid
Возвращает GUID пользовательского интерфейса команды. Этот GUID активен, когда редактор активирован. Все элементы идентификатора, видимые в редакторе, должны использовать этот GUID. Этот GUID используется в файле .ctc в вспомогательной библиотеке DLL, где он показывает, какие меню и панели инструментов должны отображаться, если документ является активным.
- cancelled
- Int32
Перечисление типа __VSEDITORCREATEDOCWIN. Эти флаги передаются методу CreateDocumentWindow(UInt32, String, IVsUIHierarchy, UInt32, IntPtr, IntPtr, Guid, String, Guid, IServiceProvider, String, String, Int32[], IVsWindowFrame). Это значение устанавливается равным 0 в реализации EditorFactory.
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK. В противном случае функция возвращает код ошибки.
Реализации
Комментарии
Пример использования этого метода см. в разделе Пошаговое руководство. Создание основного редактора и регистрация типа файла редактора.