IVsColorableItem 인터페이스
기본 글꼴 색, 글꼴 스타일 및 색을 사용자 지정 항목에 대 한 항목 이름 정보를 제공합니다.
네임스페이스: Microsoft.VisualStudio.TextManager.Interop
어셈블리: Microsoft.VisualStudio.TextManager.Interop(Microsoft.VisualStudio.TextManager.Interop.dll)
구문
‘선언
<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
IVsColorableItem 형식에서는 다음과 같은 멤버를 노출합니다.
메서드
이름 | 설명 | |
---|---|---|
GetDefaultColors | 사용자 지정 색 항목에 대 한 기본 배경 및 전경 색을 정의합니다. | |
GetDefaultFontFlags | 글꼴 플래그 색 항목 사용자 지정에 대 한 기본값을 반환합니다. | |
GetDisplayName | 사용자 지정 색 항목의 표시 이름을 가져옵니다. |
위쪽
설명
표시 이름은 사용자 지정 색 항목에 대해 지역화 되어야 합니다.
이 인터페이스에서 반환 된 색 값에 미리 정의 된 색입니다. 하이 컬러 (24 비트) 값을 반환 하 여 통해는 IVsHiColorItem 인터페이스입니다. 참조는 IVsHiColorItem 예를 들어에 대 한 인터페이스.
사용자 지정 색 항목을 구현 하는 방법을 설명 사용자 지정 색 항목.
구현자 참고 사항
언어 서비스에서 반환 되는 사용자 지정 색 항목에 대 한 글꼴 및 이름 정보를 제공 하기 위해이 인터페이스를 구현 합니다.
컬러 값을 지원 하려면 구현 해야는 IVsHiColorItem 인터페이스를 구현 하는 동일한 개체에는 IVsColorableItem 인터페이스입니다.
호출자 참고 사항
IVsColorableItem 개체를 호출 하 여 얻을 수 있습니다는 GetColorableItem 메서드는 IVsProvideColorableItems 인터페이스.
예제
이 예제는 언어 서비스입니다.
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)
};
}
}
}
참고 항목
참조
Microsoft.VisualStudio.TextManager.Interop 네임스페이스