IVsToolboxItemProvider Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Реализован пакетами, которым необходимо предоставить статически зарегистрированные элементы панели инструментов (в том же объекте, что и IVsPackage).
public interface class IVsToolboxItemProvider
public interface class IVsToolboxItemProvider
__interface IVsToolboxItemProvider
public interface IVsToolboxItemProvider
type IVsToolboxItemProvider = interface
Public Interface IVsToolboxItemProvider
- Производный
Комментарии
Если содержимое панели элементов объявлено в реестре, этот интерфейс вызывается панелью элементов для получения содержимого элемента по запросу (вместо того, чтобы создавать его все с одним вызовом ResetDefaults ). Если содержимое объявлено в реестре, но этот интерфейс не реализован, ResetDefaults то по-прежнему вызывается, но вызов откладывается до тех пор, пока не понадобится содержимое элемента панели элементов (например, когда пользователь перетаскивает элемент в конструктор).
Чтобы объявить содержимое панели элементов в реестре, создайте раздел реестра Toolbox\DefaultContent в разделе HKLM\Software\Microsoft\<appid>\<version>\Packages\<package GUID> .
В разделе Дефаултконтент создайте один ключ для каждой группы панелей инструментов, которую нужно создать или разместить в ней элементы. Имя ключа — "уникальный идентификатор" (например, нелокализованное имя); значением по умолчанию для ключа является имя. Если имя является локализуемое, следует задать значение по умолчанию "#123", где 123 — это идентификатор ресурса во вспомогательной библиотеке DLL. Под каждым ключом группы создайте один ключ для каждого элемента панели элементов, который необходимо добавить в группу.
Имя ключа и значение по умолчанию — это уникальный идентификатор и имя (то же, что и для ключей группы). Также требуются следующие значения:
HelpKeyword: строка
Formats — разделенный точками с запятой список имен форматов данных.
Точечный рисунок: двоичные данные, представляющие Пиксели изображения, с четырьмя байтами на пиксель ( <unused> , красным, зеленым, синим), расположенными слева направо и сверху вниз (как получено функцией жетдибитс с использованием DIB_RGB_COLORS, 1 плоскость, BI_RGB сжатие, and32 бит на пиксель). Точечный рисунок должен иметь размер 16x16 пикселей, если он не является лентой изображения (см. раздел Битмапиндекс ниже). в этом случае он должен иметь ширину 16 пикселей и мултиплеоф 16 пикселей. Битмапресаурцеид: строка, идентифицирующая ресурс Bitmap в Сателлитедлл пакета. Ограничения размера, описанные для "Bitmap", также применяются и здесь.
Транспарентколор: DWORD (с байтами <unused> , красным, зеленым, синим), указывающим цвет, который должен быть прозрачно визуализирован в битовой карте элемента.
Можно также указать следующие необязательные значения:
Строковые значения Типтитле, Типверсион, Типпублишер, Типтипе и Типдескриптион (см. комментарии в IVsToolboxDataProvider2:: Жетитемтипинфо.
Строковые значения AssemblyName, TypeName, TFM и Таржетедитемпровидер.
Значение строки Минимумфрамеворкверсион также поддерживается для совместимости с VS 2008.
Значение DWORD Битмапиндекс, которое указывает, что точечный рисунок на самом деле является полосой изображения и определяет изображение, которое должно быть извлечено из него.
Каждый ключ элемента может дополнительно иметь подраздел с именем «Итемконтент», содержащий форматы данных, содержимое которых известно во время установки. Для каждого из них в этом ключе создается значение, имя которого представляет собой имя формата данных, а значение — двоичный BLOB-объект, содержащий байты формата.
Содержимое форматов данных будет загружаться по запросу с помощью IVsToolboxItemProvider или ResetDefaults , как описано выше.
Методы
| GetItemContent(String, UInt16, IntPtr) |
Возвращает глобальный дескриптор к содержимому элемента пользовательского интерфейса. |