IVsProject2.AddItem(UInt32, VSADDITEMOPERATION, String, UInt32, String[], IntPtr, VSADDRESULT[]) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает новые элементы в проекте, добавляет существующие файлы в проект или приводит к запуску мастеров добавления элементов.
public:
int AddItem(System::UInt32 itemidLoc, Microsoft::VisualStudio::Shell::Interop::VSADDITEMOPERATION dwAddItemOperation, System::String ^ pszItemName, System::UInt32 cFilesToOpen, cli::array <System::String ^> ^ rgpszFilesToOpen, IntPtr hwndDlgOwner, cli::array <Microsoft::VisualStudio::Shell::Interop::VSADDRESULT> ^ pResult);
public int AddItem (uint itemidLoc, Microsoft.VisualStudio.Shell.Interop.VSADDITEMOPERATION dwAddItemOperation, string pszItemName, uint cFilesToOpen, string[] rgpszFilesToOpen, IntPtr hwndDlgOwner, Microsoft.VisualStudio.Shell.Interop.VSADDRESULT[] pResult);
abstract member AddItem : uint32 * Microsoft.VisualStudio.Shell.Interop.VSADDITEMOPERATION * string * uint32 * string[] * nativeint * Microsoft.VisualStudio.Shell.Interop.VSADDRESULT[] -> int
Public Function AddItem (itemidLoc As UInteger, dwAddItemOperation As VSADDITEMOPERATION, pszItemName As String, cFilesToOpen As UInteger, rgpszFilesToOpen As String(), hwndDlgOwner As IntPtr, pResult As VSADDRESULT()) As Integer
Параметры
- itemidLoc
- UInt32
[in] Идентификатор папки контейнера для добавляемого элемента. Должен быть VSITEMID_ROOT или другой допустимый идентификатор элемента. См. перечисление VSITEMID. Обратите внимание, что этот параметр в настоящее время игнорируется, потому что поддерживается только добавление элементов в виде дочерних элементов узла проекта. Проекты, которые поддерживают понятие папок, будут добавлять элементы относительно itemidLoc .
- dwAddItemOperation
- VSADDITEMOPERATION
[in] Операция, примененная к вновь созданному элементу. Может иметь значение VSADDITEMOP_OPENDIRECTORY, только если VSADDITEM_ShowAddFolderButton передается методу AddProjectItemDlg(UInt32, Guid, IVsProject, UInt32, String, String, String, String, Int32). См. перечисление VSADDITEMOPERATION.
- pszItemName
- String
[in] Имя добавляемого элемента.
- cFilesToOpen
- UInt32
окне Количество элементов в rgpszFilesToOpen . Может равняться нулю. Значение должно быть равно 1, если dwAddItemOperation равно VSADDITEMOP_CLONEFILE или VSADDITEMOP_OPENDIRECTORY. Если VSADDITEMOP_RUNWIZARD, значение должно быть равно 1 или 2.
- rgpszFilesToOpen
- String[]
[in, size_is(cFilesToOpen)] Массив указателей на имена файлов OLESTR. Если dwAddItemOperation параметр имеет значение VSADDITEMOP_CLONEFILE или VSADDITEMOP_OPENDIRECTORY, первым элементом ( rgpszFilesToOpen[0] ) в массиве является имя файла для клонирования или открываемого каталога. Если это так VSADDITEMOP_RUNWIZARD , первый элемент ( rgpszFilesToOpen[0] ) — это имя запускаемого мастера, а второй элемент ( rgpszFilesToOpen[1] ) — это имя файла, предоставляемое пользователем (то же, что и pszItemName ).
- hwndDlgOwner
- IntPtr
окне Обработчик для диалогового окна "Добавление элемента".
- pResult
- VSADDRESULT[]
[out, retval] Указатель на перечисление VSADDRESULT, которое указывает, был ли элемент успешно добавлен в проект.
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK. В противном случае функция возвращает код ошибки.
Реализации
Комментарии
Подпись COM
Из всшелл. IDL:
HRESULT IVsProject2::AddItem(
[in] VSITEMID itemidLoc,
[in] VSADDITEMOPERATION dwAddItemOperation,
[in] LPCOLESTR pszItemName,
[in] ULONG cFilesToOpen,
[in, size_is(cFilesToOpen)] LPCOLESTR rgpszFilesToOpen[],
[in] HWND hwndDlgOwner,
[out, retval] VSADDRESULT * pResult
);
Этот метод используется диалоговым окном Добавление элемента . Метод может создавать новые элементы, добавлять существующие файлы или вызывать запуск мастеров добавления элементов .
Этот метод должен вызываться только из потока пользовательского интерфейса, в противном случае будет вызвано исключение COMException .