CHARFORMATA 结构 (richedit.h)

包含有关 Rich Edit 控件中的字符格式的信息。

Rich Edit 2.0:CHARFORMAT2 结构是 CHARFORMAT 结构的 Microsoft Rich Edit 2.0 扩展。 Microsoft Rich Edit 2.0 及更高版本允许将任一结构用于 EM_GETCHARFORMATEM_SETCHARFORMAT 消息。

语法

typedef struct _charformat {
  UINT     cbSize;
  DWORD    dwMask;
  DWORD    dwEffects;
  LONG     yHeight;
  LONG     yOffset;
  COLORREF crTextColor;
  BYTE     bCharSet;
  BYTE     bPitchAndFamily;
  char     szFaceName[LF_FACESIZE];
} CHARFORMATA;

成员

cbSize

类型: UINT

指定结构的大小(以字节为单位)。 在将 结构传递给 Rich edit 控件之前,必须设置此成员。

dwMask

类型: DWORD

包含要设置的有效信息或属性的成员。 此成员可以是零、一个或多个以下值。

含义
CFM_ALL
Windows 8:以下值的组合:CFM_EFFECTS |CFM_SIZE |CFM_FACE |CFM_OFFSET |CFM_CHARSET
CFM_BOLD
dwEffects 成员的CFE_BOLD值有效。
CFM_CHARSET
bCharSet 成员有效。
CFM_COLOR
crTextColor 成员和 dwEffects 成员的CFE_AUTOCOLOR值有效。
CFM_EFFECTS
Windows 8:以下值的组合:CFM_BOLD |CFM_ITALIC |CFM_UNDERLINE |CFM_COLOR |CFM_STRIKEOUT |CFE_PROTECTED |CFM_LINK
CFM_FACE
szFaceName 成员有效。
CFM_ITALIC
dwEffects 成员的CFE_ITALIC值有效。
CFM_OFFSET
yOffset 成员有效。
CFM_PROTECTED
dwEffects 成员的CFE_PROTECTED值有效。
CFM_SIZE
yHeight 成员有效。
CFM_STRIKEOUT
dwEffects 成员的CFE_STRIKEOUT值有效。
CFM_UNDERLINE。
dwEffects 成员的CFE_UNDERLINE值有效。

dwEffects

类型: DWORD

字符效果。 此成员可以是以下值的组合。

含义
CFE_AUTOCOLOR
文本颜色是 GetSysColor (COLOR_WINDOWTEXT) 的返回值。
CFE_BOLD
字符为粗体。
CFE_DISABLED
RichEdit 2.0 及更高版本: 字符以偏移 3/4 磅或一个像素(以较大者为准)的阴影显示。
CFE_ITALIC
字符为斜体。
CFE_STRIKEOUT
字符被击中。
CFE_UNDERLINE
字符带有下划线。
CFE_PROTECTED
字符受到保护;尝试修改它们将导致 EN_PROTECTED 通知代码。

yHeight

类型: LONG

字符高度,以缇为单位 (1/1440 英寸或打印机点) 的 1/20。

yOffset

类型: LONG

与基线之间的字符偏移量(以缇为单位)。 如果此成员的值为正,则字符为上标;如果为负数,则表示字符为下标。

crTextColor

类型: COLORREF

文本颜色。 如果指定了CFE_AUTOCOLOR字符效果,则忽略此成员。 若要生成 COLORREF,请使用 RGB 宏。

bCharSet

类型: BYTE

字符集值。 bCharSet 成员可以是为 LOGFONT 结构的 lfCharSet 成员指定的值之一。 如果对目标字符无效,Microsoft Rich Edit 3.0 可能会重写此值。

bPitchAndFamily

类型: BYTE

字体系列和间距。 此成员与 LOGFONT 结构的 lfPitchAndFamily 成员相同。

szFaceName[LF_FACESIZE]

类型: TCHAR[LF_FACESIZE]

以 Null 结尾的字符数组,用于指定字体名称。

注解

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

注意

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

要求

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

另请参阅

CHARFORMAT2

EM_GETCHARFORMAT

EM_SETCHARFORMAT

EN_PROTECTED

引用