Interfaccia IVsColorableItem
Fornisce i colori del tipo di carattere predefinito, lo stile del tipo di carattere e informazioni sul nome dell'elemento per un elemento il colore personalizzato.
Spazio dei nomi: Microsoft.VisualStudio.TextManager.Interop
Assembly: Microsoft.VisualStudio.TextManager.Interop (in Microsoft.VisualStudio.TextManager.Interop.dll)
Sintassi
'Dichiarazione
<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
Il tipo IVsColorableItem espone i seguenti membri.
Metodi
Nome | Descrizione | |
---|---|---|
GetDefaultColors | Definisce i colori di sfondo e di primo piano predefiniti per un elemento il colore personalizzato. | |
GetDefaultFontFlags | Restituisce i flag predefiniti di carattere per il colore personalizzato. | |
GetDisplayName | Ottiene il nome visualizzato dell'elemento il colore personalizzato. |
In alto
Note
Il nome visualizzato per il colore personalizzato deve essere localizzato.
I valori di colore restituiti da questa interfaccia sono colori predefiniti. I valori di colore attivato (24 bit) possono essere restituiti da IVsHiColorItem interfaccia. vedere IVsHiColorItem interfaccia per un esempio.
Come distribuire gli elementi colorabili personalizzati è descritto in l elementi colorabili personalizzati.
Note per gli implementatori
Implementare questa interfaccia per definire il tipo di carattere e denominare informazioni su un elemento il colore personalizzato restituito da un servizio di linguaggio.
Se si desidera supportare i valori di colore attivato, è necessario implementare IVsHiColorItem collegare lo stesso oggetto che implementa IVsColorableItem interfaccia.
Note per i chiamanti
GetColorableItem l'oggetto può essere ottenuto chiamando IVsProvideColorableItems metodo su di IVsColorableItem interfaccia.
Esempi
In questo esempio ha origine da un servizio di linguaggio.
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)
};
}
}
}
Vedere anche
Riferimenti
Spazio dei nomi Microsoft.VisualStudio.TextManager.Interop