다음을 통해 공유


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 형식에서는 다음과 같은 멤버를 노출합니다.

메서드

  이름 설명
Public 메서드 GetDefaultColors 사용자 지정 색 항목에 대 한 기본 배경 및 전경 색을 정의합니다.
Public 메서드 GetDefaultFontFlags 글꼴 플래그 색 항목 사용자 지정에 대 한 기본값을 반환합니다.
Public 메서드 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 네임스페이스

기타 리소스

사용자 지정 색 항목