CHARFORMAT2A 结构 (richedit.h)

包含有关丰富编辑控件中字符格式的信息。 CHARFORMAT2CHARFORMAT 结构的 Microsoft Rich Edit 2.0 扩展。 Microsoft Rich Edit 2.0 允许将任一结构用于 EM_GETCHARFORMATEM_SETCHARFORMAT 消息。

语法

struct CHARFORMAT2A : _charformat {
  WORD     wWeight;
  SHORT    sSpacing;
  COLORREF crBackColor;
  LCID     lcid;
  union {
    DWORD dwReserved;
    DWORD dwCookie;
  };
  DWORD    dwReserved;
  SHORT    sStyle;
  WORD     wKerning;
  BYTE     bUnderlineType;
  BYTE     bAnimation;
  BYTE     bRevAuthor;
  BYTE     bUnderlineColor;
};

继承

CHARFORMAT2A 结构实现_charformat。

成员

wWeight

类型: WORD

字体粗细。 此成员与 LOGFONT 结构的 lfWeight 成员相同。 若要使用此成员,请在 dwMask 成员中设置 CFM_WEIGHT 标志。

sSpacing

类型: SHORT

字母之间的水平间距(以缇为单位)。 此值对富编辑控件显示的文本没有影响;包含它是为了与 Windows TOM 接口兼容。 若要使用此成员,请在 dwMask 成员中设置 CFM_SPACING 标志。

crBackColor

类型: COLORREF

背景色。 若要使用此成员,请在 dwMask 成员中设置 CFM_BACKCOLOR 标志。 如果指定 了CFE_AUTOBACKCOLOR 字符效果,则忽略此成员。 若要生成 ,请使用 宏。

lcid

类型: LCID

一个 32 位区域设置标识符,该标识符在低级单词中包含语言标识符,在上部单词中包含排序标识符和保留值。 此成员对富编辑控件显示的文本没有影响,但拼写和语法检查器可以使用它来处理依赖于语言的问题。 可以使用 宏创建 LCID 值。 若要使用此成员,请在 dwMask 成员中设置 CFM_LCID 标志。

dwReserved

类型: DWORD

保留;值必须为零。

dwCookie

类型: DWORD

客户端 Cookie。 此成员对于丰富编辑控件是不透明的。

sStyle

类型: SHORT

字符样式句柄。 此值对富编辑控件显示的文本没有影响;它是为了与 WindowsTOM 接口兼容而包含的。 若要使用此成员,请在 dwMask 成员中设置CFM_STYLE标志。 有关详细信息,请参阅 TOM 文档。

wKerning

类型: WORD

字号的值,用于将字符 (yHeight) 。 此值对富编辑控件显示的文本没有影响;它是为了与 TOM 接口兼容而包含的。 若要使用此成员,请在 dwMask 成员中设置CFM_KERNING标志。

bUnderlineType

类型: BYTE

指定下划线类型。 若要使用此成员,请在 dwMask 成员中设置CFM_UNDERLINETYPE标志。 此成员可以是以下值之一。

含义
CFU_CF1UNDERLINE
结构将 CHARFORMAT 的位下划线映射到 CHARFORMAT2, (也就是说,它对此文本) 执行 CHARFORMAT 类型的下划线。
CFU_INVERT
对于 IME 合成,请假选。
CFU_UNDERLINE
带单行下划线的文本。
CFU_UNDERLINEDASH
带短划线下划线的文本。
CFU_UNDERLINEDASHDOT
带有虚线和虚线下划线的文本。
CFU_UNDERLINEDASHDOTDOT
带有虚线和双倍虚线下划线的文本。
CFU_UNDERLINEDOTTED
带虚线下划线的文本。 对于低于 Microsoft Rich Edit 3.0 的版本,文本以纯色下划线显示。
CFU_UNDERLINEDOUBLE
带双行下划线的文本。 格式编辑控件显示带有实线下划线的文本。
CFU_UNDERLINEDOUBLEWAVE
显示为 CFU_UNDERLINEWAVE
CFU_UNDERLINEHAIRLINE
显示为 CFU_UNDERLINE
CFU_UNDERLINEHEAVYWAVE
显示为 CFU_UNDERLINEWAVE
CFU_UNDERLINELONGDASH
显示为 CFU_UNDERLINEDASH
CFU_UNDERLINENONE
无下划线。 这是默认值。
CFU_UNDERLINETHICK
显示为 CFU_UNDERLINE
CFU_UNDERLINETHICKDASH
显示为 CFU_UNDERLINEDASH
CFU_UNDERLINETHICKDASHDOT
显示为 CFU_UNDERLINEDASHDOT
CFU_UNDERLINETHICKDASHDOTDOT
显示为 CFU_UNDERLINEDASHDOT
CFU_UNDERLINETHICKDOTTED
显示为 CFU_UNDERLINEDOT
CFU_UNDERLINETHICKLONGDASH
显示为 CFU_UNDERLINEDASH
CFU_UNDERLINEWAVE
RichEdit 4.1 及更高版本:带波浪线下划线的文本。
CFU_UNDERLINEWORD
RichEdit 4.1 及更高版本:仅为字词添加下划线。 格式编辑控件显示带有实线下划线的文本。

bAnimation

类型: BYTE

文本动画类型。 此值对富编辑控件显示的文本没有影响;它是为了与 TOM 接口兼容而包含的。 若要使用此成员,请在 dwMask 成员中设置CFM_ANIMATION标志。

bRevAuthor

类型: BYTE

标识进行修订的作者的索引。 Rich Edit 控件对每个不同的作者索引使用不同的文本颜色。 若要使用此成员,请在 dwMask 成员中设置 CFM_REVAUTHOR 标志。

bUnderlineColor

类型: BYTE

下划线颜色:

  • UnderlineColor_Black = 0x00;
  • UnderlineColor_Blue = 0x01;
  • UnderlineColor_Aqua = 0x02;
  • UnderlineColor_Lime = 0x03;
  • UnderlineColor_Fuchsia = 0x04;
  • UnderlineColor_Red = 0x05;
  • UnderlineColor_Yellow = 0x06;
  • UnderlineColor_White = 0x07;
  • UnderlineColor_Navy = 0x08;
  • UnderlineColor_Teal = 0x09;
  • UnderlineColor_Green = 0x0A;
  • UnderlineColor_Purple = 0x0B;
  • UnderlineColor_Maroon = 0x0C;
  • UnderlineColor_Olive = 0x0D;
  • UnderlineColor_DkGray = 0x0E;
  • UnderlineColor_LtGray = 0x0F;

注解

若要关闭格式设置属性,请在 dwMask 中设置适当的值,但不要在 dwEffects 中设置相应的值。 例如,若要关闭斜体,请设置 CFM_ITALIC 但不设置 CFE_ITALIC

注意

richedit.h 标头将CHARFORMAT2定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 richedit.h

另请参阅

CHARFORMAT

COLORREF

EM_GETCHARFORMAT

EM_SETCHARFORMAT

EN_PROTECTED

GetSysColor

LOGFONT

RGB