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 | |
---|---|---|
GetDefaultColors | Definiert den standardmäßigen Hintergrund- und Vordergrundfarben für ein benutzerdefiniertes färbbares Element. | |
GetDefaultFontFlags | Gibt die Standardschriftart Flags für das benutzerdefinierte färbbare Element zurück. | |
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