CHARFORMAT2 structure
CHARFORMAT2 structure
Contains information about character formatting in a rich edit control. CHARFORMAT2 is a Microsoft Rich Edit 2.0 extension of the CHARFORMAT structure. Microsoft Rich Edit 2.0 allows you to use either structure with the EM_GETCHARFORMAT and EM_SETCHARFORMAT messages.
Syntax
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;
#if (_RICHEDIT_VER >= 0x0500)
  union {
    DWORD dwReserved;
    DWORD dwCookie;
  };
#else 
  DWORD    dwReserved;
#endif 
  SHORT    sStyle;
  WORD     wKerning;
  BYTE     bUnderlineType;
  BYTE     bAnimation;
  BYTE     bRevAuthor;
#if (_RICHEDIT_VER >= 0x0800)
  BYTE     bUnderlineColor;
#endif 
} CHARFORMAT2;
Members
- cbSize
- 
Type: UINT 
- 
指定的大小,以字节为单位的结构。之前将该结构传递给 rich edit 控件,将字节设置为CHARFORMAT或CHARFORMAT2结构的大小。如果字节等于CHARFORMAT结构的大小,则控件使用只有CHARFORMAT成员。 
- dwMask
- 
类型︰ dword 值 
- 
指定包含有效信息CHARFORMAT2结构的部件。DwMask成员可以从两个集中的位标志值的组合。一套指示是有效的结构成员。另一套指示中性格的成员的有效属性。 设置以下值,以指示性格的成员的有效属性。 设置以下值,以指示有效结构成员。 
- 性格的
- 
类型︰ dword 值 
- 
一组位标志,指定字符效果。有的标志只是为了兼容微软文本对象模型(汤姆) 界面;rich edit 控件存储的值,但不使用它来显示文本。 此成员可以是下列值的组合。 价值 意义 - CFE_ALLCAPS
 字符是全部大写的字母。的值并不影响该控件显示的文本的方式。此值仅适用于版本早于微软丰富编辑 3.0。 - CFE_AUTOBACKCOLOR
 背景颜色是GetSysColor(COLOR_WINDOW) 的返回值。如果设置了此标志, crBackColor成员将被忽略。 - CFE_AUTOCOLOR
 文本颜色是GetSysColor(COLOR_WINDOWTEXT) 的返回值。如果设置了此标志, crTextColor成员将被忽略。 - CFE_BOLD
 字符以粗体显示。 - CFE_DISABLED
 字符会显示为带有抵消 3/4 点或一个像素的影子,两者中较大。 - CFE_EMBOSS
 字符被浮雕。值不影响控制如何显示的文本。 - CFE_EXTENDED
 字符是不太常见的脚本。支持脚本字体应该检查是否它有这种字符的字形。 - CFE_FONTBOUND
 Rich edit 控件选择字体,还因为积极的字体不支持的字符的表表者。这个过程被称为字体绑定。 - CFE_HIDDEN
 微软丰富编辑 3.0 及更高版本,不显示的字符。 - CFE_IMPRINT
 作为印迹字符显示的字符。值不影响控制如何显示的文本。 - CFE_ITALIC
 字符以斜体显示。 - CFE_LINK
 Rich edit 控件可以发送EN_LINK通知代码,当鼠标指针停留在具有CFE_LINK效果的文本时,它接收鼠标消息。 - CFE_LINKPROTECTED
 汉字是友好名称链接的一部分。 - CFE_MATH
 字符在数学区。 - CFE_MATHNOBUILDUP
 字符不参加数学构建了。例如,当应用于 a /,/ 不会用来建立一小部分。 - CFE_MATHORDINARY
 作为一个数学区域内的普通文本显示的字符。 - CFE_OUTLINE
 字符显示为空心字符。值不影响控制如何显示的文本。 - CFE_PROTECTED
 字符的保障;尝试对它们进行修改会导致EN_PROTECTED通知代码。 - CFE_REVISED
 字符被标记为修订。 - CFE_SHADOW
 作为隐藏字符显示的字符。值不影响控制如何显示的文本。 - CFE_SMALLCAPS
 字符是在小型大写字母。值不影响控制如何显示的文本。 - CFE_STRIKEOUT
 字符是剔除。 - CFE_SUBSCRIPT
 字符的下标。CFE_SUPERSCRIPT和CFE_SUBSCRIPT的值是互斥的。对于这两个值,控件将自动计算偏移量和较小的字体大小。或者,您可以使用yHeight与正文成员显式指定字体大小和下标和上标字符偏移量。 - CFE_SUPERSCRIPT
 字符是上标。 - CFE_UNDERLINE
 带下划线的字符。 
- yHeight
- 
类型︰长 
- 
指定字符的高度,以缇为单位 (1/1440 英寸) 或 1/20 的打印机点。若要使用此成员,在设置了CFM_SIZE标志dwMask成员。 
- 正文
- 
类型︰长 
- 
字符偏移量从基线,以缇为单位。如果此成员的值为正值,字符是上标;如果值为负值,字符是下标。若要使用此成员,在设置了CFM_OFFSET标志dwMask成员。 
- crTextColor
- 
类型︰ COLORREF 
- 
文本颜色。若要使用此成员,在设置了CFM_COLOR标志dwMask成员。如果指定了CFE_AUTOCOLOR字符效果,此成员将被忽略。若要生成COLORREF,使用RGB宏。 
- bCharSet
- 
类型︰字节 
- 
字符集的值。它可以是指定的LOGFONT结构的lfCharSet成员的值之一。若要使用此成员,在设置了CFM_CHARSET标志dwMask成员。 
- bPitchAndFamily
- 
类型︰字节 
- 
指定字体系列和球场。此成员是LOGFONT结构的lfPitchAndFamily成员相同。 
- 零
- 
类型︰ TCHAR[LF_FACESIZE] 
- 
Null 终止字符数组指明字体名称。若要使用此成员,在设置了CFM_FACE标志dwMask成员。 
- wWeight
- 
类型︰ WORD 
- 
字体粗细。此成员是LOGFONT结构的lfWeight成员相同。若要使用此成员,在设置了CFM_WEIGHT标志dwMask成员。 
- sSpacing
- 
类型︰短 
- 
字母,以缇为单位之间的水平间距。此值已由 rich edit 控件; 显示的文本没有影响它是包括与 Windows 汤姆接口的兼容性。若要使用此成员,在设置了CFM_SPACING标志dwMask成员。 
- crBackColor
- 
类型︰ COLORREF 
- 
背景色。若要使用此成员,在设置了CFM_BACKCOLOR标志dwMask成员。如果指定了CFE_AUTOBACKCOLOR字符效果,此成员将被忽略。要生成,使用宏。 
- lcid
- 
类型︰ LCID 
- 
包含在较低的字和排序标识符的语言标识符和保留的价值较高的字在一个 32 位的区域设置标识符。此成员已由 rich edit 控件显示的文本没有影响,但拼写和语法检查程序可以使用它来处理依赖于语言的问题。您可以使用宏来创建一个LCID值。若要使用此成员,在设置了CFM_LCID标志dwMask成员。 
- dwReserved
- 
类型︰ dword 值 
- 
保留;值必须为零。 
- dwCookie
- 
类型︰ dword 值 
- 
客户端 cookie。此成员是不透明的 rich edit 控件。 
- dwReserved
- 
类型︰ dword 值 
- 
保留;值必须为零。 
- sStyle
- 
类型︰短 
- 
字符样式的句柄。此值已由 rich edit 控件; 显示的文本没有影响它是包括与 WindowsTOM 接口的兼容性。若要使用此成员,在设置了CFM_STYLE标志dwMask成员。详细信息请参阅汤姆文档。 
- wKerning
- 
类型︰ WORD 
- 
字体大小,上面进行字偶间距调整的字符 (yHeight) 的值。此值已由 rich edit 控件; 显示的文本没有影响它是包括与汤姆接口的兼容性。若要使用此成员,在设置了CFM_KERNING标志dwMask成员。 
- bUnderlineType
- 
类型︰字节 
- 
指定的下划线类型。若要使用此成员,在设置了CFM_UNDERLINETYPE标志dwMask成员。此成员可以是下列值之一。 价值 意义 - CFU_CF1UNDERLINE
 结构将CHARFORMAT位下划线映射到CHARFORMAT2,(也就是说,它执行下划线CHARFORMAT类型对此文本)。 - CFU_INVERT
 为 ime,假选择。 - CFU_UNDERLINE
 带有一条实线下划线的文本。 - CFU_UNDERLINEDASH
 带有虚线下划线的文本。 - CFU_UNDERLINEDASHDOT
 虚线和点线线带有下划线的文本。 - CFU_UNDERLINEDASHDOTDOT
 带有虚线和加倍的虚线下划线的文本。 - CFU_UNDERLINEDOTTED
 带有虚线下划线的文本。版本还带有固体下划线显示比微软丰富编辑 3.0,早的文本。 - CFU_UNDERLINEDOUBLE
 双线带有下划线的文本。Rich edit 控件显示与固体的下划线的文本。 - 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 及以后︰ 只有词下划线。Rich edit 控件显示与固体的下划线的文本。 
- bAnimation
- 
类型︰字节 
- 
文本动画类型。此值已由 rich edit 控件; 显示的文本没有影响它是包括与汤姆接口的兼容性。若要使用此成员,在设置了CFM_ANIMATION标志dwMask成员。 
- bRevAuthor
- 
类型︰字节 
- 
标识作者进行修改的索引。Rich edit 控件为每个不同的作者索引使用不同的文本颜色。若要使用此成员,在设置了CFM_REVAUTHOR标志dwMask成员。 
- bUnderlineColor
- 
类型︰字节 
- 
Underline color. 
Remarks
To turn off a formatting attribute, set the appropriate value in dwMask but do not set the corresponding value in dwEffects. For example, to turn off italics, set CFM_ITALIC but do not set CFE_ITALIC.
Requirements
| Minimum supported client | Windows Vista [desktop apps only] | 
|---|---|
| Minimum supported server | Windows Server 2003 [desktop apps only] | 
| Header | 
 | 
| Unicode and ANSI names | CHARFORMAT2W (Unicode) and CHARFORMAT2A (ANSI) | 
 
 
 
 
 
 
 

 
       
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号