描述
CHARFORMAT2结构包含有关丰富编辑控件中字符格式设置的信息。 CHARFORMAT2是CHARFORMAT结构的Microsoft Rich Edit 2.0扩展程序。 Rich Edit 2.0允许您使用任一结构与EM_GETCHARFORMAT和EM_SETCHARFORMAT消息。
C/C++ 语法
typedef struct _charformat2 { UINT cbSize; DWORD dwMask; DWORD dwEffects; LONG yHeight; LONG yOffset; COLORREF crTextColor; BYTE bCharSet; BYTE bPitchAndFamily; TCHAR szFaceName[LF_FACESIZE]; WORD wWeight; SHORT sSpacing; COLORREF crBackColor; LCID lcid; DWORD dwReserved; SHORT sStyle; WORD wKerning; BYTE bUnderlineType; BYTE bAnimation; BYTE bRevAuthor; BYTE bReserved1; } CHARFORMAT2; |
PB语法
TYPE CHARFORMAT2A cbSize AS DWORD dwMask AS DWORD dwEffects AS DWORD yHeight AS LONG yOffset AS LONG crTextColor AS DWORD bCharSet AS BYTE bPitchAndFamily AS BYTE szFaceName AS ASCIIZ * %LF_FACESIZE wFiller AS WORD wWeight AS WORD sSpacing AS INTEGER crBackColor AS DWORD lcid AS DWORD dwReserved AS DWORD sStyle AS INTEGER wKerning AS WORD bUnderlineType AS BYTE bAnimation AS BYTE bRevAuthor AS BYTE bReserved1 AS BYTE END TYPE |
Unicode版本:
TYPE CHARFORMAT2W BYTE cbSize AS DWORD dwMask AS DWORD dwEffects AS DWORD yHeight AS LONG yOffset AS LONG crTextColor AS DWORD bCharSet AS BYTE bPitchAndFamily AS BYTE szFaceName AS WSTRINGZ * %LF_FACESIZE wFiller AS WORD wWeight AS WORD sSpacing AS INTEGER crBackColor AS DWORD lcid AS DWORD dwReserved AS DWORD sStyle AS INTEGER wKerning AS WORD bUnderlineType AS BYTE bAnimation AS BYTE bRevAuthor AS BYTE bReserved1 AS BYTE END TYPE |
成员
cbSize
指定结构的大小(以字节为单位)。 在将此结构传递给丰富的编辑控件之前,请将cbSize设置为CHARFORMAT或CHARFORMAT2结构的大小。 如果cbSize等于CHARFORMAT结构的大小,则控件仅使用CHARFORMAT成员。
dwMask
指定包含有效信息的CHARFORMAT2结构的部分。 dwMask成员可以是来自两组位标志的值的组合。 一组表示结构成员有效。 另一个集合表示dwEffects成员中的有效属性。
设置以下值以指示dwEffects成员的有效属性。
Value |
Meaning |
CFM_ALLCAPS |
CFE_ALLCAPS值有效。 |
CFM_BOLD |
CFE_BOLD值有效。 |
CFM_COLOR |
CFE_AUTOCOLOR值有效,或crTextColor成员有效。 |
CFM_DISABLED |
CFE_DISABLED值有效。 |
CFM_EMBOSS |
CFE_EMBOSS值有效。 |
CFM_HIDDEN |
CFE_HIDDEN值有效。 |
CFM_IMPRINT |
CFE_IMPRINT值有效。 |
CFM_ITALIC |
CFE_ITALIC值有效。 |
CFM_LINK |
CFE_LINK价值有效。 |
CFM_OUTLINE |
CFE_OUTLINE值有效。 |
CFM_PROTECTED |
CFE_PROTECTED值有效。 |
CFM_REVISED |
CFE_REVISION值有效。 |
CFM_SHADOW |
CFE_SHADOW值有效。 |
CFM_SMALLCAPS |
CFE_SMALLCAPS值有效。 |
CFM_STRIKEOUT |
CFE_STRIKEOUT值有效。 |
CFM_SUBSCRIPT |
CFE_SUBSCRIPT和CFE_SUPERSCRIPT值是有效的。 |
CFM_SUPERSCRIPT |
CFE_SUBSCRIPT和CFE_SUPERSCRIPT值是有效的。 |
CFM_UNDERLINE |
CFE_UNDERLINE值有效。 |
设置以下值以指示有效的结构成员。
CFM_ANIMATION
bAnimation成员有效。
CFM_BACKCOLOR
crBackColor成员有效。
CFM_CHARSET
bCharSet成员有效。
CFM_COLOR
crTextColor成员是有效的,除非在dwEffects成员中设置了CFE_AUTOCOLOR标志。
CFM_FACE
szFaceName成员有效。
CFM_KERNING
wKerning成员有效。
CFM_LCID
lcid成员有效。
CFM_OFFSET
yOffset成员有效。
CFM_REVAUTHOR
bRevAuthor成员有效。
CFM_SIZE
yHeight成员有效。
CFM_SPACING
sSpacing成员有效。
CFM_STYLE
sStyle成员有效。
CFM_UNDERLINETYPE
bUnderlineType成员有效。
CFM_WEIGHT
wWeight成员有效。
dwEffects
一组指定字符效果的位标志。 一些标志仅包括与Microsoft文本对象模型(TOM)接口的兼容性; 丰富的编辑控件存储该值,但不使用它来显示文本。
该成员可以是以下值的组合。
CFE_ALLCAPS
人物都是大写字母。 该值不影响控件显示文本的方式。 此值仅适用于Rich Edit 3.0之前的版本。
CFE_AUTOBACKCOLOR
背景颜色是GetSysColor(COLOR_WINDOW)的返回值。 如果设置了此标志,crBackColor成员将被忽略。
CFE_AUTOCOLOR
文本颜色是返回值GetSysColor(COLOR_WINDOWTEXT)。 如果设置了此标志,则crTextColor成员将被忽略。
CFE_BOLD
人物大胆
CFE_DISABLED
字符显示为偏移3/4点或一个像素的阴影,以较大者为准。
CFE_EMBOSS
字符被压花。 该值不影响控件如何显示文本。
CFE_HIDDEN
对于Rich Edit 3.0及更高版本,不会显示字符。
CFE_IMPRINT
字符显示为打印字符。 该值不影响控件如何显示文本。
CFE_ITALIC
字符是斜体
CFE_LINK
丰富的编辑控件可以在鼠标指针位于具有CFE_LINK效果的文本上时收到鼠标信息时发送EN_LINK通知消息。
CFE_OUTLINE
字符显示为概要字符。 该值不影响控件如何显示文本。
CFE_PROTECTED
人物受到保护; 尝试修改它们将导致EN_PROTECTED通知消息。
CFE_REVISED
字符被标记为已修改。
CFE_SHADOW
字符显示为阴影字符。 该值不影响控件如何显示文本。
CFE_SMALLCAPS
字符是小写字母。 该值不影响控件如何显示文本。
CFE_STRIKEOUT
人物被打倒了
CFE_SUBSCRIPT
字符是下标。 CFE_SUPERSCRIPT和CFE_SUBSCRIPT值是互斥的。 对于这两个值,控件自动计算偏移和较小的字体大小。 或者,您可以使用yHeight和yOffset成员明确指定下标和上标字符的字体大小和偏移量。
CFE_SUPERSCRIPT
字符是上标。
CFE_UNDERLINE
字符加下划线。
yHeight
指定字符高度,以缇为单位(1/1440英寸,或打印机点数的1/20)。 要使用此成员,请在dwMask成员中设置CFM_SIZE标志。
yOffset
字符偏离基线,以缇为单位。 如果这个成员的价值是积极的,那么这个角色就是上标; 如果值为负,则该字符是下标。 要使用此成员,请在dwMask成员中设置CFM_OFFSET标志。
crTextColor
文字颜色。 要使用此成员,请在dwMask成员中设置CFM_COLOR标志。 如果指定了CFE_AUTOCOLOR字符效果,则忽略该成员。 要生成COLORREF,请使用RGB功能。
bCharSet
字符集值。 它可以是为LOGFONT结构lfCharSet成员指定的值之一。 要使用此成员,请在dwMask成员中设置CFM_CHARSET标志。
bPitchAndFamily
指定字体系列和音高。 该成员与LOGFONT结构的lfPitchAndFamily成员相同。
wWeight
字体重量 该成员与LOGFONT结构的lfWeight成员相同。 要使用此成员,请在dwMask成员中设置CFM_WEIGHT标志。
sSpacing
字母之间的水平间距,以缇为单位。 该值对丰富的编辑控件显示的文本没有影响; 它包含与Microsoft WindowsText对象模型(TOM)接口的兼容性。 要使用此成员,请在dwMask成员中设置CFM_SPACING标志。
crBackColor
背景颜色。 要使用此成员,请在dwMask成员中设置CFM_BACKCOLOR标志。 如果指定了CFE_AUTOBACKCOLOR字符效果,则忽略该成员。 要生成一个,使用宏。
lcid
一个32位的区域设置标识符,其中包含较低字中的语言标识符,排序标识符和高位字中的保留值。 该成员对丰富的编辑控件显示的文本没有影响,但拼写和语法检查可以使用它来处理与语言有关的问题。 您可以使用宏创建一个LCID值。 要使用此成员,请在dwMask成员中设置CFM_LCID标志。
dwReserved
保留; 该值必须为零。
sStyle
字符样式句柄。 该值对丰富的编辑控件显示的文本没有影响; 它包含与WindowsTOM接口的兼容性。 要使用此成员,请在dwMask成员中设置CFM_STYLE标志。 有关更多信息,请参阅文本对象模型文档。
wKerning
字体大小的值,其中以字符(yHeight)为单位)。 该值对丰富的编辑控件显示的文本没有影响; 它包含与TOM接口的兼容性。 要使用此成员,请在dwMask成员中设置CFM_KERNING标志。
bUnderlineType
指定下划线类型 要使用此成员,请在dwMask成员中设置CFM_UNDERLINETYPE标志。 该成员可以是以下值之一。
CFU_CF1UNDERLINE
结构将CHARFORMAT的下划线映射到CHARFORMAT2(即,在此文本上执行CHARFORMAT类型的下划线)。
CFU_UNDERLINE
固定的下划线文字。
CFU_UNDERLINEDOTTED
带下划线的文字。 对于早于Rich Edit 3.0的版本,文本显示为一个坚实的下划线。
CFU_UNDERLINEDOUBLE
双下划线文字。 丰富的编辑控件用一个坚实的下划线显示文本。
CFU_UNDERLINENONE
没有下划线 这是默认值。
CFU_UNDERLINEWORD
仅下划线 丰富的编辑控件用一个坚实的下划线显示文本。
bAnimation
文字动画类型。 该值对丰富的编辑控件显示的文本没有影响; 它包含与TOM接口的兼容性。 要使用此成员,请在dwMask成员中设置CFM_ANIMATION标志。
bRevAuthor
用于标识作者进行修订的索引。 丰富的编辑控件对每个不同的作者索引使用不同的文本颜色。 要使用此成员,请在dwMask成员中设置CFM_REVAUTHOR标志。
bReserved1
保留; 该值必须为零。
备注
要关闭格式化属性,请在dwMask中设置适当的值,但不要在dwEffects中设置相应的值。 例如,要关闭斜体,请设置CFM_ITALIC,但不要设置CFE_ITALIC。
最低操作系统
Windows 95与Rich Edit 2.0,Windows 98,Windows NT 4.0。
引用文件 #INCLUDE Once
RichEdit.inc