CHARFORMAT2W structure (Rich Edit 2.0)
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 _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;
Members
cbSize
Type: UINT
Specifies the size, in bytes, of the structure. Before passing this structure to a rich edit control, set cbSize to the size of the CHARFORMAT or CHARFORMAT2 structure. If cbSize equals the size of a CHARFORMAT structure, the control uses only the CHARFORMAT members.
dwMask
Type: DWORD
Specifies the parts of the CHARFORMAT2 structure that contain valid information. The dwMask member can be a combination of the values from two sets of bit flags. One set indicates the structure members that are valid. Another set indicates the valid attributes in the dwEffects member.
Set the following values to indicate the valid attributes of the dwEffects member.
Set the following values to indicate the valid structure members.
dwEffects
Type: DWORD
A set of bit flags that specify character effects. Some of the flags are included only for compatibility with Microsoft Text Object Model (TOM) interfaces; the rich edit control stores the value but does not use it to display text.
This member can be a combination of the following values.
Value | Meaning |
---|---|
|
Characters are all capital letters. The value does not affect the way the control displays the text. This value applies only to versions earlier than Microsoft Rich Edit 3.0. |
|
The background color is the return value of GetSysColor(COLOR_WINDOW). If this flag is set, crBackColor member is ignored. |
|
The text color is the return value of GetSysColor(COLOR_WINDOWTEXT). If this flag is set, the crTextColor member is ignored. |
|
Characters are bold. |
|
Characters are displayed with a shadow that is offset by 3/4 point or one pixel, whichever is larger. |
|
Characters are embossed. The value does not affect how the control displays the text. |
|
The characters are less common members of a script. A font that supports a script should check if it has glyphs for such characters. |
|
Font is chosen by the rich edit control because the active font doesn't support the characters. This process is called font binding. |
|
For Microsoft Rich Edit 3.0 and later, characters are not displayed. |
|
Characters are displayed as imprinted characters. The value does not affect how the control displays the text. |
|
Characters are italic. |
|
A rich edit control can send EN_LINK notification codes when it receives mouse messages while the mouse pointer is over text with the CFE_LINK effect. |
|
Characters are part of a friendly name link. |
|
Characters are in a math zone. |
|
Characters do not participate in a math build up. For example, when applied to a /, the / will not be used to build up a fraction. |
|
Characters are displayed as ordinary text within a math zone. |
|
Characters are displayed as outlined characters. The value does not affect how the control displays the text. |
|
Characters are protected; an attempt to modify them will cause an EN_PROTECTED notification code. |
|
Characters are marked as revised. |
|
Characters are displayed as shadowed characters. The value does not affect how the control displays the text. |
|
Characters are in small capital letters. The value does not affect how the control displays the text. |
|
Characters are struck out. |
|
Characters are subscript. The CFE_SUPERSCRIPT and CFE_SUBSCRIPT values are mutually exclusive. For both values, the control automatically calculates an offset and a smaller font size. Alternatively, you can use the yHeight and yOffset members to explicitly specify font size and offset for subscript and superscript characters. |
|
Characters are superscript. |
|
Characters are underlined. |
yHeight
Type: LONG
Specifies the character height, in twips (1/1440 of an inch, or 1/20 of a printer's point). To use this member, set the CFM_SIZE flag in the dwMask member.
yOffset
Type: LONG
Character offset from the baseline, in twips. If the value of this member is positive, the character is a superscript; if the value is negative, the character is a subscript. To use this member, set the CFM_OFFSET flag in the dwMask member.
crTextColor
Type: COLORREF
Text color. To use this member, set the CFM_COLOR flag in the dwMask member. This member is ignored if the CFE_AUTOCOLOR character effect is specified. To generate a COLORREF, use the RGB macro.
bCharSet
Type: BYTE
Character set value. It can be one of the values specified for the lfCharSet member of the LOGFONT structure. To use this member, set the CFM_CHARSET flag in the dwMask member.
bPitchAndFamily
Type: BYTE
Specifies the font family and pitch. This member is the same as the lfPitchAndFamily member of the LOGFONT structure.
szFaceName[LF_FACESIZE]
Type: TCHAR[LF_FACESIZE]
A null-terminated character array specifying the font name. To use this member, set the CFM_FACE flag in the dwMask member.
wWeight
Type: WORD
Font weight. This member is the same as the lfWeight member of the LOGFONT structure. To use this member, set the CFM_WEIGHT flag in the dwMask member.
sSpacing
Type: SHORT
Horizontal space between letters, in twips. This value has no effect on the text displayed by a rich edit control; it is included for compatibility with Windows TOM interfaces. To use this member, set the CFM_SPACING flag in the dwMask member.
crBackColor
Type: COLORREF
Background color. To use this member, set the CFM_BACKCOLOR flag in the dwMask member. This member is ignored if the CFE_AUTOBACKCOLOR character effect is specified. To generate a , use the macro.
lcid
Type: LCID
A 32-bit locale identifier that contains a language identifier in the lower word and a sorting identifier and reserved value in the upper word. This member has no effect on the text displayed by a rich edit control, but spelling and grammar checkers can use it to deal with language-dependent problems. You can use the macro to create an LCID value. To use this member, set the CFM_LCID flag in the dwMask member.
dwReserved
Type: DWORD
Reserved; the value must be zero.
dwCookie
Type: DWORD
Client cookie. This member is opaque to a rich edit control.
sStyle
Type: SHORT
Character style handle. This value has no effect on the text displayed by a rich edit control; it is included for compatibility with WindowsTOM interfaces. To use this member, set the CFM_STYLE flag in the dwMask member. For more information see the TOM documentation.
wKerning
Type: WORD
Value of the font size, above which to kern the character (yHeight). This value has no effect on the text displayed by a rich edit control; it is included for compatibility with TOM interfaces. To use this member, set the CFM_KERNING flag in the dwMask member.
bUnderlineType
Type: BYTE
Specifies the underline type. To use this member, set the CFM_UNDERLINETYPE flag in the dwMask member. This member can be one of the following values.
Value | Meaning |
---|---|
|
The structure maps CHARFORMAT's bit underline to CHARFORMAT2, (that is, it performs a CHARFORMAT type of underline on this text). |
|
For IME composition, fake a selection. |
|
Text underlined with a single solid line. |
|
Text underlined with dashes. |
|
Text underlined with a dashed and dotted line. |
|
Text underlined with a dashed and doubled dotted line. |
|
Text underlined with a dotted line. For versions earlier than Microsoft Rich Edit 3.0, text is displayed with a solid underline. |
|
Text underlined with a double line. The rich edit control displays the text with a solid underline. |
|
Display as CFU_UNDERLINEWAVE. |
|
Display as CFU_UNDERLINE. |
|
Display as CFU_UNDERLINEWAVE. |
|
Display as CFU_UNDERLINEDASH. |
|
No underline. This is the default. |
|
Display as CFU_UNDERLINE. |
|
Display as CFU_UNDERLINEDASH. |
|
Display as CFU_UNDERLINEDASHDOT. |
|
Display as CFU_UNDERLINEDASHDOT. |
|
Display as CFU_UNDERLINEDOT. |
|
Display as CFU_UNDERLINEDASH. |
|
RichEdit 4.1 and later: Text underlined with a wavy line. |
|
RichEdit 4.1 and later: Underline words only. The rich edit control displays the text with a solid underline. |
bAnimation
Type: BYTE
Text animation type. This value has no effect on the text displayed by a rich edit control; it is included for compatibility with TOM interfaces. To use this member, set the CFM_ANIMATION flag in the dwMask member.
bRevAuthor
Type: BYTE
An index that identifies the author making a revision. The rich edit control uses different text colors for each different author index. To use this member, set the CFM_REVAUTHOR flag in the dwMask member.
bUnderlineColor
Type: BYTE
Underline color:
- 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;
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
Requirement | Value |
---|---|
Minimum supported client | Windows Vista [desktop apps only] |
Minimum supported server | Windows Server 2003 [desktop apps only] |
Header | richedit.h |