Partilhar via


Método ColorableItem.GetColorData

Obtenha o elemento de primeiro plano ou plano de fundo de cor especificada de alta.

Namespace:  Microsoft.VisualStudio.Package
Assemblies:   Microsoft.VisualStudio.Package.LanguageService (em Microsoft.VisualStudio.Package.LanguageService.dll)
  Microsoft.VisualStudio.Package.LanguageService.10.0 (em Microsoft.VisualStudio.Package.LanguageService.10.0.dll)
  Microsoft.VisualStudio.Package.LanguageService.11.0 (em Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
  Microsoft.VisualStudio.Package.LanguageService.9.0 (em Microsoft.VisualStudio.Package.LanguageService.9.0.dll)

Sintaxe

'Declaração
Public Overridable Function GetColorData ( _
    cdElement As Integer, _
    <OutAttribute> ByRef crColor As UInteger _
) As Integer
public virtual int GetColorData(
    int cdElement,
    out uint crColor
)

Parâmetros

  • crColor
    Tipo: System.UInt32%
    [out] Retorna um COLORREF valores de objeto que contém o RGB para o elemento de cor especificada.

Valor de retorno

Tipo: System.Int32
Se bem-sucedida, retorna S_OK; Caso contrário, retorna um código de erro.

Implementações

IVsHiColorItem.GetColorData(Int32, UInt32%)

Comentários

Este método é uma implementação da GetColorData método na IVsHiColorItem interface.

O método base retorna o elemento de cor que foi passado para o construtor para o primeiro plano (cdElement parâmetro = CD_FOREGROUND) ou o plano de fundo (cdElement parâmetro = CD_BACKGROUND) elemento.

Exemplos

Esta é uma possível implementação deste método (isso é semelhante à implementação básica fornecida pela estrutura de pacote gerenciado).

using System.Drawing;
using Microsoft.VisualStudio;
using Microsoft.VisualStudio.TextManager.Interop;

        public virtual int GetColorData(int cdElement, out uint crColor)
        {
            crColor = 0;

            if (hiForeColor.IsEmpty || hiBackColor.IsEmpty)
            {
                return VSConstants.E_FAIL;
            }

            switch (cdElement)
            {
                case (int)__tagVSCOLORDATA.CD_FOREGROUND:
                    crColor = ColorToRgb(this.hiForeColor);
                    break;
                case (int)__tagVSCOLORDATA.CD_BACKGROUND:
                    crColor = ColorToRgb(this.hiBackColor);
                    break;
                default:
                    return VSConstants.E_FAIL;
            }
            
            return VSConstants.S_OK;
        }

        uint ColorToRgb(Color color)
        {
             uint colorref = (uint)ColorTranslator.ToWin32(
                                        Color.FromArgb(color.R,
                                                       color.G,
                                                       color.B));
             return colorref;
        }

Segurança do .NET Framework

Consulte também

Referência

ColorableItem Classe

Namespace Microsoft.VisualStudio.Package