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> , красным, зеленым, синим), указывающим цвет, который должен быть прозрачно визуализирован в битовой карте элемента.

  • Можно также указать следующие необязательные значения:

    1. Строковые значения Типтитле, Типверсион, Типпублишер, Типтипе и Типдескриптион (см. комментарии в IVsToolboxDataProvider2:: Жетитемтипинфо.

    2. Строковые значения AssemblyName, TypeName, TFM и Таржетедитемпровидер.

    3. Значение строки Минимумфрамеворкверсион также поддерживается для совместимости с VS 2008.

    4. Значение DWORD Битмапиндекс, которое указывает, что точечный рисунок на самом деле является полосой изображения и определяет изображение, которое должно быть извлечено из него.

Каждый ключ элемента может дополнительно иметь подраздел с именем «Итемконтент», содержащий форматы данных, содержимое которых известно во время установки. Для каждого из них в этом ключе создается значение, имя которого представляет собой имя формата данных, а значение — двоичный BLOB-объект, содержащий байты формата.

Содержимое форматов данных будет загружаться по запросу с помощью IVsToolboxItemProvider или ResetDefaults , как описано выше.

Методы

GetItemContent(String, UInt16, IntPtr)

Возвращает глобальный дескриптор к содержимому элемента пользовательского интерфейса.

Применяется к