IVsExternalFilesManager2.AddDocument(UInt32, String, IntPtr, IntPtr, Guid, String, Guid, String, String, Int32, IVsWindowFrame) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Программно приказывает проекту произвольных файлов добавить узел.
public:
int AddDocument(System::UInt32 dwCDW, System::String ^ pszMkDocument, IntPtr punkDocView, IntPtr punkDocData, Guid % rguidEditorType, System::String ^ pszPhysicalView, Guid % rguidCmdUI, System::String ^ pszOwnerCaption, System::String ^ pszEditorCaption, [Runtime::InteropServices::Out] int % pfDefaultPosition, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Shell::Interop::IVsWindowFrame ^ % ppWindowFrame);
public int AddDocument (uint dwCDW, string pszMkDocument, IntPtr punkDocView, IntPtr punkDocData, ref Guid rguidEditorType, string pszPhysicalView, ref Guid rguidCmdUI, string pszOwnerCaption, string pszEditorCaption, out int pfDefaultPosition, out Microsoft.VisualStudio.Shell.Interop.IVsWindowFrame ppWindowFrame);
abstract member AddDocument : uint32 * string * nativeint * nativeint * Guid * string * Guid * string * string * int * IVsWindowFrame -> int
Public Function AddDocument (dwCDW As UInteger, pszMkDocument As String, punkDocView As IntPtr, punkDocData As IntPtr, ByRef rguidEditorType As Guid, pszPhysicalView As String, ByRef rguidCmdUI As Guid, pszOwnerCaption As String, pszEditorCaption As String, ByRef pfDefaultPosition As Integer, ByRef ppWindowFrame As IVsWindowFrame) As Integer
Параметры
- dwCDW
- UInt32
[in] Определяет флаги __VSCREATEDOCWIN, которые определяют, как создается окно документа.
- pszMkDocument
- String
[in] Путь к документу. Среда использует этот путь для регистрации представления в таблице выполняющихся документов (RDT).
- punkDocView
- IntPtr
[in] Указатель на интерфейс IUnknown для объекта представления документа, который необходимо отобразить в окне документа.
- punkDocData
- IntPtr
[in] Указатель на интерфейс IUnknown объекта, представляющего объект данных документа, добавляемого в ситуациях, когда существует разделение представления или данных. Например, базовый текстовый редактор имеет объект представления текста (объект VsTextView) и объект текстового буфера (объект VsTextBuffer). Этот параметр может иметь значение null. Передача null приводит к тому, что среда создает экземпляр реализации по умолчанию punkDocData для от имени вызывающего.
- rguidEditorType
- Guid
[in] Уникальный идентификатор фабрики редактора, которая создала экземпляр представления документа и объекты данных документа. Если документ создан не с помощью фабрики редакторов (то есть экземпляр создан с использованием закрытого набора знаний конкретного проекта), это должен быть идентификатор GUID_NULL.
- pszPhysicalView
- String
[in] Строка идентификации типа физического представления для редактора.
- rguidCmdUI
- Guid
[in] Определяет идентификатор GUID, указывающий, какой набор меню должен быть объединен в строку главного меню в активном документе. Используется для включения видимости команд и окон инструментов.
- pszOwnerCaption
- String
[in] Начальный заголовок, определенный владельцем документа (проектом) для окна документа. Часто имеет следующий формат: "Имя проекта – имя элемента".
- pszEditorCaption
- String
[in] Начальный заголовок, определенный редактором документа для окна документа. Обычно это строка, заключенная в квадратные скобки (например, [Read Only]). Возвращается начальное значение данного параметра в качестве параметра [out] в методе CreateEditorInstance(UInt32, String, String, IVsHierarchy, UInt32, IntPtr, IntPtr, IntPtr, String, Guid, Int32).
- pfDefaultPosition
- Int32
[out] Может иметь значение null, если вызывающему объекту не требуется информация о позиции по умолчанию для окна. true Если в среде не было сохранено сведений о последней позиции этого окна инструментов (то есть guidPersistenceSlot не найдено), оно было помещено в некоторое расположение по умолчанию на экране. Значение false, если это окно было размещено там, где пользователь последний раз обнаружил его и изменил его размер.
- ppWindowFrame
- IVsWindowFrame
[out] Указатель на кадр, содержащий этот редактор, который можно использовать для управления расположением, размером, заголовком и другими свойствами окна. Его также можно использовать для получения IUnknown указателя интерфейса внедрения (то есть punkDocView или punkDocData ).
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK. В противном случае функция возвращает код ошибки.
Реализации
Комментарии
Подпись COM
Из всшелл. IDL:
HRESULT IVsExternalFilesManager2::AddDocument(
[in] VSCREATEDOCWIN dwCDW,
[in] LPCOLESTR pszMkDocument,
[in] IUnknown *punkDocView,
[in] IUnknown *punkDocData,
[in] REFGUID rguidEditorType,
[in] LPCOLESTR pszPhysicalView,
[in] REFGUID rguidCmdUI,
[in] LPCOLESTR pszOwnerCaption,
[in] LPCOLESTR pszEditorCaption,
[out] BOOL *pfDefaultPosition,
[out] IVsWindowFrame **ppWindowFrame
);
Очень похоже на CreateDocumentWindow метод. AddDocument не включает параметры ItemId и pUIH (указатель на IVsHierarchy ), так как проект "Прочие файлы" назначает свои собственные ItemId и pUIH пары, а остальные AddDocument параметры используются для создания окна документа.