IVsFontAndColorUtilities 接口

提供用于处理的工具。 Visual Studio 字体和颜色 结构的方法使用的输入和输出数据。

命名空间:  Microsoft.VisualStudio.Shell.Interop
程序集:  Microsoft.VisualStudio.Shell.Interop.8.0(在 Microsoft.VisualStudio.Shell.Interop.8.0.dll 中)

语法

声明
<GuidAttribute("A356A017-07EE-4D06-ACDE-FEFDBB49EB50")> _
<InterfaceTypeAttribute()> _
Public Interface IVsFontAndColorUtilities
[GuidAttribute("A356A017-07EE-4D06-ACDE-FEFDBB49EB50")]
[InterfaceTypeAttribute()]
public interface IVsFontAndColorUtilities

IVsFontAndColorUtilities 类型公开以下成员。

方法

  名称 说明
公共方法 CopyFontInfo 将一 FontInfo 对象的字体信息到另一个。
公共方法 CopyItemInfo 复制到另一 AllColorableItemInfo 对象的一 AllColorableItemInfo 对象包含的信息。
公共方法 EncodeAutomaticColor 返回 Visual Studio 会话自动颜色的当前值作为 RGB (COLORREF) 值。
公共方法 EncodeIndexedColor COLORINDEX 枚举的成员转换为 RGB (COLORREF) 颜色值等效。
公共方法 EncodeInvalidColor 返回 RGB (COLORREF) 颜色值与系统定义的无效的颜色相对应。
公共方法 EncodeSysColor 返回 RGB (COLORREF) 颜色值与指定的系统颜色组件对应。
公共方法 EncodeTrackedItem 返回 RGB (COLORREF) 颜色值与 Visual Studio 环境中跟踪的颜色相对应。
公共方法 EncodeVSColor 返回 __VSSYSCOLOREX 颜色的 COLORREF 等效。
公共方法 FreeFontInfo 释放在一个包含的 FontInfo 对象的所有数据。
公共方法 FreeItemInfo 释放在一个包含的 AllColorableItemInfo 对象的所有数据
公共方法 GetColorType 获取颜色表示形式的类型。 COLORREF的。
公共方法 GetEncodedIndex 获取 COLORINDEX 枚举的一个有效的成员与所提供的 COLORREF对应。
公共方法 GetEncodedSysColor 获取的系统颜色服务索引与所提供的 COLORREF对应。
公共方法 GetEncodedVSColor 获取 __VSSYSCOLOREX 枚举的一个有效的成员与所提供的 COLORREF对应。
公共方法 GetRGBOfEncodedColor 获取颜色的已创建的跟踪或索引 COLORREF 表示的 RGB 值。
公共方法 GetRGBOfIndex 获取 RGB 值与 COLORINDEX 枚举对应的一个有效的成员。
公共方法 GetRGBOfItem 获取一 字体和颜色 类别的前景色和背景色的 RGB (COLORREF) 值从 AllColorableItemInfo实例的。
公共方法 GetTrackedItemIndex 获取一个跟踪的颜色的索引如由 COLORREF__VSCOLORASPECT 的成员表示颜色是否在前台或后台。
公共方法 InitFontInfo 初始化为默认状态的一 FontInfo 对象。
公共方法 InitItemInfo 初始化为默认状态的一 AllColorableItemInfo 对象。

页首

备注

IVsFontAndColorUtilities 接口的方法允许 VSPackage 提供 字体和颜色 为支持工具与 FontInfo__FONTCOLORFLAGS__FCFONTFLAGSLOGFONTW时,用于指定和修改字体和颜色信息。

如果提供 字体和颜色 的 VSPackage 更改其默认设置,它必须调用 ClearCacheClearAllCaches。 这将强制重新加载 字体和颜色 提供程序,确保其设置传输和未来 字体和颜色 查询货币。

备注

许多此接口的方法与 COLORREF存储的颜色数据,符合 windows 32 SDK GetSysColor 功能。COLORREF (rgb) 具有 0x00bbggrr十六进制的格式。托管代码可获取函数等效于 GetSysColorSystemColors 和将 COLORREF 和使用 M:System.Drawing.ColorTranslator.FromWin32System.Drawing.Color 结构和M:System.Drawing.ColorTranslator.ToWin32之间。

对调用者的说明

IVsFontAndColorUtilities 从 SVsFontAndColorStorage 服务实现获取。

Vspackage 开发了使用托管代码可以通过调用 GetServiceSVsFontAndColorStorage 的参数和转换获取一 IVsFontAndColorCacheManager 接口。 IVsFontAndColorUtilities:

    IVsFontAndColorUtilities store=null;
    store=GetService(typeof(SVsFontAndColorStorage)) as IVsFontAndColorUtilities;
    if (store == null ){
        throw new ApplicationException("Unable to obtain IVsFontAndColorUtilities Interface");

}

COM 程序员可以通过调用 QueryService 获取一 IVsFontAndColorCacheManager 接口。

服务标识符 SID_SVsFontAndColorStorage 和接口 ID IID_IVsFontAndColorUtilities:

    CComPtr<IVsFontAndColorUtilities> srpFCCacheMgr;
    pSP->QueryService(SID_SVsFontAndColorStorage , IID_IVsFontAndColorUtilities , (void**)&srpFCCacheMgr);
    VSASSERT(SUCCEEDED(hr), " IVsFontAndColorUtilities not provided");

请参见

参考

Microsoft.VisualStudio.Shell.Interop 命名空间

其他资源

字体