IVsColorableItem (Interfaz)
Proporciona colores de fuente predeterminados, estilo de fuente, y la información de nombre de elemento para un elemento coloreable personalizado.
Espacio de nombres: Microsoft.VisualStudio.TextManager.Interop
Ensamblado: Microsoft.VisualStudio.TextManager.Interop (en Microsoft.VisualStudio.TextManager.Interop.dll)
Sintaxis
'Declaración
<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
El tipo IVsColorableItem expone los siguientes miembros.
Métodos
Nombre | Descripción | |
---|---|---|
GetDefaultColors | Define los colores de fondo y de primer plano predeterminados para un elemento coloreable personalizado. | |
GetDefaultFontFlags | Devuelve marcas de fuente predeterminados para el elemento coloreable personalizado. | |
GetDisplayName | Obtiene el nombre para mostrar del elemento coloreable personalizado. |
Arriba
Comentarios
El nombre para mostrar del elemento coloreable personalizado debe localizar.
los valores de color devueltos de esta interfaz son colores predefinidos. Los valores de color de gran densidad (24 bits) se pueden devolver a través de la interfaz de IVsHiColorItem . Vea la interfaz de IVsHiColorItem para obtener un ejemplo.
Cómo implementar elementos colorear personalizados se describe en Elementos colorear personalizados.
Notas para los implementadores
Implemente esta interfaz para proporcionar la fuente y llamar a la información sobre un elemento coloreable personalizado que se devuelve de un servicio de lenguaje.
Si desea admitir valores de color de gran densidad, debe implementar la interfaz de IVsHiColorItem en el mismo objeto que implementa la interfaz de IVsColorableItem .
Notas para los llamadores
Un objeto de IVsColorableItem se puede obtener llamando al método GetColorableItem en la interfaz de IVsProvideColorableItems .
Ejemplos
Este ejemplo es de un servicio de lenguaje.
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)
};
}
}
}
Vea también
Referencia
Microsoft.VisualStudio.TextManager.Interop (Espacio de nombres)