Partager via


ColorableItem.GetColorData, méthode

Obtenez l'élément spécifié de premier plan ou d'arrière-plan de 65536 couleurs.

Espace de noms :  Microsoft.VisualStudio.Package
Assemblys :   Microsoft.VisualStudio.Package.LanguageService (dans Microsoft.VisualStudio.Package.LanguageService.dll)
  Microsoft.VisualStudio.Package.LanguageService.10.0 (dans Microsoft.VisualStudio.Package.LanguageService.10.0.dll)
  Microsoft.VisualStudio.Package.LanguageService.11.0 (dans Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
  Microsoft.VisualStudio.Package.LanguageService.9.0 (dans Microsoft.VisualStudio.Package.LanguageService.9.0.dll)

Syntaxe

'Déclaration
Public Overridable Function GetColorData ( _
    cdElement As Integer, _
    <OutAttribute> ByRef crColor As UInteger _
) As Integer
public virtual int GetColorData(
    int cdElement,
    out uint crColor
)

Paramètres

  • cdElement
    Type : System.Int32
    [in] valeur d'Un depuis l'énumération d'__tagVSCOLORDATA spécifiant qu'élément de couleur pour extraire.
  • crColor
    Type : System.UInt32%
    [] retourne un objet d'COLORREF qui contient les valeurs RVB pour l'élément de couleur spécifié.

Valeur de retour

Type : System.Int32
Si réussi, retours S_OK ; sinon, retours code d'erreur.

Implémentations

IVsHiColorItem.GetColorData(Int32, UInt32%)

Remarques

Cette méthode est une implémentation de la méthode d'GetColorData dans l'interface d'IVsHiColorItem.

La méthode de base retourne l'élément de couleur qui a été passé au constructeur pour le premier plan (paramètre = CD_FOREGROUND d'cdElement) ou (paramètre d'cdElement =) CD_BACKGROUND l'élément d'arrière-plan.

Exemples

C'est une implémentation possible de cette méthode (c'est semblable à l'implémentation de base fournie par l'infrastructure managée de package).

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;
        }

Sécurité .NET Framework

Voir aussi

Référence

ColorableItem Classe

Microsoft.VisualStudio.Package, espace de noms