Freigeben über


IVsColorableItem-Schnittstelle

Stellt Standardschriftfarben, Schriftschnitt und Elementname Informationen für ein benutzerdefiniertes färbbares Element bereit.

Namespace:  Microsoft.VisualStudio.TextManager.Interop
Assembly:  Microsoft.VisualStudio.TextManager.Interop (in Microsoft.VisualStudio.TextManager.Interop.dll)

Syntax

'Declaration
<InterfaceTypeAttribute()> _
<GuidAttribute("56694A40-78D0-45DD-AB15-681BC207579C")> _
Public Interface IVsColorableItem
[InterfaceTypeAttribute()]
[GuidAttribute("56694A40-78D0-45DD-AB15-681BC207579C")]
public interface IVsColorableItem
[InterfaceTypeAttribute()]
[GuidAttribute(L"56694A40-78D0-45DD-AB15-681BC207579C")]
public interface class IVsColorableItem
[<InterfaceTypeAttribute()>]
[<GuidAttribute("56694A40-78D0-45DD-AB15-681BC207579C")>]
type IVsColorableItem =  interface end
public interface IVsColorableItem

Der IVsColorableItem-Typ macht die folgenden Member verfügbar.

Methoden

  Name Beschreibung
Öffentliche Methode GetDefaultColors Definiert den standardmäßigen Hintergrund- und Vordergrundfarben für ein benutzerdefiniertes färbbares Element.
Öffentliche Methode GetDefaultFontFlags Gibt die Standardschriftart Flags für das benutzerdefinierte färbbare Element zurück.
Öffentliche Methode GetDisplayName Ruft den Anzeigenamen des benutzerdefinierten färbbaren Elements ab.

Zum Seitenanfang

Hinweise

Der Anzeigename für das benutzerdefinierte färbbare Element sollte lokalisiert werden.

Die Farbwerte, die von dieser Schnittstelle zurückgegeben werden, sind vordefinierte Farben. Werte der hohen Farbe (24-Bit) können durch die IVsHiColorItem-Schnittstelle zurückgegeben werden. Zeigen Sie die IVsHiColorItem-Schnittstelle als Beispiel.

So erstellen Sie benutzerdefinierte färbbare Element wird beschrieben in Für benutzerdefinierte färbbare Elementeimplementiert.

Hinweise zur Implementierung

Implementieren Sie diese Schnittstelle, um Schriftart bereitzustellen und Informationen über ein benutzerdefiniertes färbbares Element zu benennen, das von einem Sprachdienst zurückgegeben wurde.

Wenn Sie hohe Farbwerte unterstützen möchten, müssen Sie die IVsHiColorItem-Schnittstelle für dasselbe Objekt implementieren, das die IVsColorableItem-Schnittstelle implementiert.

Hinweise zu Aufrufern

Ein IVsColorableItem-Objekt kann abgerufen werden, indem die GetColorableItem-Methode für die IVsProvideColorableItems-Schnittstelle aufruft.

Beispiele

Dieses Beispiel ist ein Sprachdienst.

using Microsoft.VisualStudio.TextManager.Interop;

namespace MyNamespace
{
    internal class MyColorItem : IVsColorableItem
    {
        //==========================================================
        // Private fields.
        private COLORINDEX foreColor;
        private COLORINDEX backColor;
        private FONTFLAGS fontFlags;
        private string name;
        private string displayName;

        //==========================================================
        // Public constructor.

        public MyColorItem(string name,
                           string displayName,
                           COLORINDEX foreColor,
                           COLORINDEX backColor,
                           FONTFLAGS fontFlags)
        {
            this.name = name;
            this.displayName = displayName;
            this.foreColor = foreColor;
            this.backColor = backColor;
            this.fontFlags = fontFlags;
        }


        //==========================================================
        // IVsColorableItem methods.
        #region IVsColorableItem Members

        int IVsColorableItem.GetDefaultColors(COLORINDEX[] piForeground,
                                              COLORINDEX[] piBackground)
        {
            int retval = VSConstants.E_POINTER;
            if (piForeground != null)
            {
                piForeground[0] = this.foreColor;
                retval = VSConstants.S_OK;
            }
            if (piBackground != null)
            {
                piBackground[0] = this.backColor;
            }
            return retval;
        }

        int IVsColorableItem.GetDefaultFontFlags(out uint pdwFontFlags)
        {
            pdwFontFlags = (uint)this.fontFlags;
            return VSConstants.S_OK;
        }

        int IVsColorableItem.GetDisplayName(out string pbstrName)
        {
            pbstrName = this.displayName;
            return VSConstants.S_OK;
        }

        #endregion
    }


    //==============================================================
    // Example of how to instantiate the MyColorItem class.

    public class MyLanguageService
    {
        private ColorableItem[] colorableItemsList;

        public MyLanguageService()
        {
            colorableItemsList = {
                new MyColorableItem("MyLanguage- Text",
                                    "MyLanguage- Text",
                                    COLORINDEX.CI_SYSPLAINTEXT_FG,
                                    COLORINDEX.CI_SYSPLAINTEXT_BK,
                                    FONTFLAGS.FF_BOLD),

                new MyColorableItem("MyLanguage- Keyword",
                                    "MyLanguage- Keyword",
                                    COLORINDEX.CI_MAROON,
                                    COLORINDEX.CI_SYSPLAINTEXT_BK,
                                    FONTFLAGS.FF_BOLD),

                new MyColorableItem("MyLanguage- Operator",
                                    "MyLanguage- Operator",
                                    COLORINDEX.CI_DARKBLUE,
                                    COLORINDEX.CI_BLUE,
                                    FONTFLAGS.FF_PLAIN)
            };
        }
    }
}

Siehe auch

Referenz

Microsoft.VisualStudio.TextManager.Interop-Namespace

Weitere Ressourcen

Für benutzerdefinierte färbbare Elemente