IVsToolboxItemProvider Interface

Definição

Implementado por pacotes que desejam fornecer itens de caixa de ferramentas registrados estaticamente (no mesmo objeto que IVsPackage ).

public interface class IVsToolboxItemProvider
public interface class IVsToolboxItemProvider
__interface IVsToolboxItemProvider
public interface IVsToolboxItemProvider
type IVsToolboxItemProvider = interface
Public Interface IVsToolboxItemProvider
Derivado

Comentários

Se o conteúdo da caixa de ferramentas for declarado no registro, essa interface será chamada pela caixa de ferramentas para recuperar o conteúdo do item sob demanda (em vez de criá-lo com uma única chamada para ResetDefaults ). Se o conteúdo for declarado no registro, mas essa interface não for implementada, ResetDefaults ainda será chamada, mas a chamada será adiada até que o conteúdo de um item da caixa de ferramentas seja necessário (por exemplo, quando o usuário arrastar um item para um designer).

Para declarar o conteúdo da caixa de ferramentas no registro, crie a chave do registro Toolbox\DefaultContent em HKLM\Software\Microsoft\<appid>\<version>\Packages\<package GUID> .

Na chave DefaultContent, crie uma chave para cada grupo da caixa de ferramentas em que você deseja criar ou inserir itens. O nome da chave é a "ID exclusiva" (por exemplo, um nome não localizado); o valor padrão da chave é o nome. Se o nome for localizável, você deverá definir o valor padrão como "#123", em que 123 é a ID de um recurso em sua DLL satélite. Em cada chave de grupo, crie uma chave para cada item da caixa de ferramentas que você deseja adicionar ao grupo.

O nome da chave e o valor padrão são a ID exclusiva e o nome (o mesmo que para as chaves de grupo). Os valores a seguir também são necessários:

  • HelpKeyword: cadeia de caracteres

  • Formatos: uma lista delimitada por ponto-e-vírgula de nomes de formato de dados.

  • Bitmap: dados binários que representam os pixels de uma imagem, com quatro bytes por pixel ( <unused> , vermelho, verde, azul) organizados da esquerda para a direita e de cima para baixo (como recuperado pela função GetDIBits usando DIB_RGB_COLORS, 1 plano, BI_RGB compactação, and32 bits por pixel). O bitmap deve ter 16x16 pixels, a menos que seja uma faixa de imagem (veja BitmapIndex abaixo); nesse caso, ele deve ter 16 pixels de altura e um multipleof de 16 pixels de largura. ou... BitmapResourceID: uma cadeia de caracteres que identifica um recurso de bitmap no satelliteDLL do pacote. As restrições de tamanho descritas para "bitmap" se aplicam aqui também.

  • TransparentColor: um DWORD (com bytes <unused> , vermelho, verde, azul) indicando a cor que deve ser renderizada de forma transparente no bitmap do item.

  • Os seguintes valores opcionais também podem ser especificados:

    1. Valores de cadeia de caracteres TipTitle, TipVersion, TipPublisher, TipType e TipDescription (consulte os comentários em IVsToolboxDataProvider2:: GetItemTipInfo.

    2. Valores de cadeia de caracteres AssemblyName, TypeName, TFMs e TargetedItemProvider.

    3. O valor da cadeia de caracteres MinimumFrameworkVersion também tem suporte, para compatibilidade com VS 2008.

    4. Valor DWORD BitmapIndex, que indica que o bitmap é, na verdade, uma faixa de imagens e identifica a imagem a ser extraída dela.

Cada chave de item pode, opcionalmente, ter uma subchave chamada "item de conteúdo" contendo formatos de dados cujo conteúdo é conhecido no momento da instalação. Para cada um deles, um valor é criado sob essa chave cujo nome é o nome do formato de dados e cujo valor é um blob binário que contém os bytes do formato.

O conteúdo dos formatos de dados será carregado sob demanda usando IVsToolboxItemProvider ou ResetDefaults conforme descrito acima.

Métodos

GetItemContent(String, UInt16, IntPtr)

Retorna um identificador global para o conteúdo de um item de interface do usuário.

Aplica-se a