CHARFORMAT2W结构 (Rich Edit 2.0)
包含有关富编辑控件中字符格式的信息。 CHARFORMAT2 是 CHARFORMAT 结构的 Microsoft Rich Edit 2.0 扩展。 Microsoft Rich Edit 2.0 允许将任一结构与 EM_GETCHARFORMAT 和 EM_SETCHARFORMAT 消息一起使用。
语法
typedef struct _charformat2w {
UINT cbSize;
DWORD dwMask;
DWORD dwEffects;
LONG yHeight;
LONG yOffset;
COLORREF crTextColor;
BYTE bCharSet;
BYTE bPitchAndFamily;
WCHAR szFaceName[LF_FACESIZE];
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;
} CHARFORMAT2W;
成员
cbSize
类型:UINT
指定结构的大小(以字节为单位)。 将此结构传递给富编辑控件之前,请将
dwMask
类型:DWORD
指定包含有效信息的 CHARFORMAT2 结构的各个部分。 dwMask 成员可以是两组位标志中的值的组合。 一组指示有效结构成员。 另一组指示 dwEffects 成员中的有效属性。
设置以下值以指示 dwEffects 成员的有效属性。
设置以下值以指示有效的结构成员。
dwEffects
类型:DWORD
一组指定字符效果的位标志。 某些标志仅用于与Microsoft 文本对象模型(TOM)接口的兼容性;富编辑控件存储值,但不使用它来显示文本。
此成员可以是以下值的组合。
价值 | 意义 |
---|---|
|
字符都是大写字母。 该值不会影响控件显示文本的方式。 此值仅适用于早于 Microsoft Rich Edit 3.0 的版本。 |
|
背景色是 GetSysColor(COLOR_WINDOW)的返回值。 如果设置了此标志,则忽略 crBackColor 成员。 |
|
文本颜色是 GetSysColor(COLOR_WINDOWTEXT)的返回值。 如果设置了此标志,则忽略 crTextColor 成员。 |
|
字符为粗体。 |
|
字符以 3/4 磅或一个像素偏移的阴影显示,以较大者为准。 |
|
字符是浮雕的。 该值不会影响控件显示文本的方式。 |
|
这些字符是脚本中不太常见的成员。 支持脚本的字体应检查其是否具有此类字符的字形。 |
|
字体由富编辑控件选择,因为活动字体不支持字符。 此过程称为字体绑定。 |
|
对于 Microsoft Rich Edit 3.0 及更高版本,不会显示字符。 |
|
字符显示为印记字符。 该值不会影响控件显示文本的方式。 |
|
字符为斜体。 |
|
当鼠标指针位于具有 CFE_LINK 效果的文本上时,富编辑控件可以发送 EN_LINK 通知代码。 |
|
字符是友好名称链接的一部分。 |
|
字符位于数学区域中。 |
|
字符不参与数学积聚。 例如,应用于 /时,/将不用于生成分数。 |
|
字符在数学区域中显示为普通文本。 |
|
字符显示为带轮廓的字符。 该值不会影响控件显示文本的方式。 |
|
字符受到保护;尝试修改它们将导致 EN_PROTECTED 通知代码。 |
|
字符标记为修订。 |
|
字符显示为阴影字符。 该值不会影响控件显示文本的方式。 |
|
字符采用小大写字母。 该值不会影响控件显示文本的方式。 |
|
字符被击出。 |
|
字符为下标。 CFE_SUPERSCRIPT 和 CFE_SUBSCRIPT 值互斥。 对于这两个值,控件会自动计算偏移量和较小的字号。 或者,可以使用 yHeight 和 yOffset 成员显式指定下标和上标字符的字号和偏移量。 |
|
字符为上标。 |
|
字符带有下划线。 |
yHeight
类型:LONG
指定字符高度(1/1440 英寸或打印机点的 1/20)。 若要使用此成员,请设置 dwMask 成员中的 CFM_SIZE 标志。
yOffset
类型:LONG
与基线的字符偏移量(以 twips 为单位)。 如果此成员的值为正值,则字符为上标;如果值为负值,则字符为下标。 若要使用此成员,请设置 dwMask 成员中的 CFM_OFFSET 标志。
crTextColor
类型:COLORREF
文本颜色。 若要使用此成员,请设置 dwMask 成员中的 CFM_COLOR 标志。 如果指定了 CFE_AUTOCOLOR 字符效果,则忽略此成员。 若要生成 COLORREF,请使用 RGB 巨集。
bCharSet
类型:BYTE
字符集值。 它可以是为 LOGFONT 结构 lfCharSet 成员指定的值之一。 若要使用此成员,请设置 dwMask 成员中的 CFM_CHARSET 标志。
bPitchAndFamily
类型:BYTE
指定字体系列和间距。 此成员与
szFaceName[LF_FACESIZE]
类型:TCHAR[LF_FACESIZE]
指定字体名称的以 null 结尾的字符数组。 若要使用此成员,请设置 dwMask 成员中的 CFM_FACE 标志。
wWeight
类型:WORD
字体粗细。 此成员与 LOGFONT 结构的 lfWeight 成员相同。 若要使用此成员,请设置 dwMask 成员中的 CFM_WEIGHT 标志。
sSpacing
类型:SHORT
字母之间的水平间距(以 twips 为单位)。 此值对富编辑控件显示的文本没有影响;它包含在内,以便与 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 标志。 此成员可以是以下值之一。
价值 | 意义 |
---|---|
|
结构 CHARFORMAT位下划线映射到 CHARFORMAT2(也就是说,它在此文本上执行 CHARFORMAT 类型的下划线)。 |
|
对于 IME 合成,假选择。 |
|
带单条实线下划线的文本。 |
|
带短划线的带下划线的文本。 |
|
带虚线和虚线下划线的文本。 |
|
带虚线和双点线的下划线下划线的文本。 |
|
带虚线下划线的文本。 对于早于 Microsoft Rich Edit 3.0 的版本,文本以纯色下划线显示。 |
|
带双行下划线的文本。 富编辑控件显示带有纯下划线的文本。 |
|
显示为 CFU_UNDERLINEWAVE。 |
|
显示为 CFU_UNDERLINE。 |
|
显示为 CFU_UNDERLINEWAVE。 |
|
显示为 CFU_UNDERLINEDASH。 |
|
无下划线。 这是默认值。 |
|
显示为 CFU_UNDERLINE。 |
|
显示为 CFU_UNDERLINEDASH。 |
|
显示为 CFU_UNDERLINEDASHDOT。 |
|
显示为 CFU_UNDERLINEDASHDOT。 |
|
显示为 CFU_UNDERLINEDOT。 |
|
显示为 CFU_UNDERLINEDASH。 |
|
RichEdit 4.1 及更高版本:带波浪线下划线的文本。 |
|
RichEdit 4.1 及更高版本:仅带下划线。 富编辑控件显示带有纯下划线的文本。 |
bAnimation
类型:BYTE
文本动画类型。 此值对富编辑控件显示的文本没有影响;它包含在内,以便与 TOM 接口兼容。 若要使用此成员,请设置 dwMask 成员中的 CFM_ANIMATION 标志。
bRevAuthor
类型:BYTE
标识进行修订的作者的索引。 富编辑控件为每个不同的作者索引使用不同的文本颜色。 若要使用此成员,请设置 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。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista [仅限桌面应用] |
支持的最低服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | richedit.h |