IVsColorableItem, interface
Fournit des couleurs de police par défaut, le style de police, et les informations de nom d'élément pour un élément coloriable personnalisé.
Espace de noms : Microsoft.VisualStudio.TextManager.Interop
Assembly : Microsoft.VisualStudio.TextManager.Interop (dans Microsoft.VisualStudio.TextManager.Interop.dll)
Syntaxe
'Déclaration
<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
Le type IVsColorableItem expose les membres suivants.
Méthodes
Nom | Description | |
---|---|---|
GetDefaultColors | Définit l'arrière-plan et les couleurs de premier plan par défaut pour un élément coloriable personnalisé. | |
GetDefaultFontFlags | Retourne les balises de la police par défaut pour l'élément coloriable personnalisé. | |
GetDisplayName | Obtient le nom complet de l'élément coloriable personnalisé. |
Début
Notes
Le nom complet pour l'élément coloriable personnalisé doit être localisé.
Les valeurs de couleur retournées de cette interface sont des couleurs prédéfinies. Des valeurs (24 bits) de 65536 couleurs peuvent être retournées via l'interface d'IVsHiColorItem. Voyez l'interface d'IVsHiColorItem pour un exemple.
Implémentez procédure les éléments qui autorisent la modification de la couleur personnalisés est décrit dans Éléments qui autorisent la modification de la couleur personnalisés.
Remarques à l'attention des implémenteurs
Implémentez cette interface pour fournir la police et pour nommer des informations sur un élément coloriable personnalisé qui est retourné par un service de langage.
Si vous souhaitez prendre en charge des valeurs de 65536 couleurs, vous devez implémenter l'interface d'IVsHiColorItem sur le même objet qui implémente l'interface d'IVsColorableItem.
Remarques à l'attention des appelants
Un objet d'IVsColorableItem peut être obtenu en appelant la méthode d'GetColorableItem sur l'interface d'IVsProvideColorableItems.
Exemples
Cet exemple est d'un service de langage.
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)
};
}
}
}
Voir aussi
Référence
Microsoft.VisualStudio.TextManager.Interop, espace de noms
Autres ressources
Éléments qui autorisent la modification de la couleur personnalisés