MSDN Home >  MSDN Library >  User Interface Design and Development >  Windows Shell >  Windows Controls >  Individual Control Information >  Rich Edit Controls > 

CHARFORMAT Structure


The CHARFORMAT structure contains information about character formatting in a rich edit control.

Rich Edit 2.0: The CHARFORMAT2 structure is a Microsoft Rich Edit 2.0 extension of the CHARFORMAT structure. Rich Edit 2.0 and later allows you to use either structure with the EM_GETCHARFORMAT and EM_SETCHARFORMAT messages.

Syntax

typedef struct _charformat {
    UINT cbSize;           DWORD  4 bytes
    DWORD dwMask;     DWORD  4 bytes
    DWORD dwEffects;   DWORD  4 bytes
    LONG yHeight;         LONG   4 bytes
    LONG yOffset;          LONG  4 bytes
    COLORREF crTextColor;  LONG  4 bytes
    BYTE bCharSet;             BYTE  1 bytes
    BYTE bPitchAndFamily;   BYTE  1 bytes
  TCHAR szFaceName[LF_FACESIZE];  32 bytes
} CHARFORMAT;                              58 bytes



Must be 60 bytes !!  
typedef struct _charformat2 {
    UINT  cbSize; DWORD 4 bytes
    DWORD  dwMask; DWORD 4 bytes
    DWORD  dwEffects; DWORD 4 bytes
    LONG  yHeight; LONG 4 bytes
    LONG  yOffset; LONG 4 bytes
    COLORREF  crTextColor; LONG 4 bytes
    BYTE  bCharSet; BYTE 1 bytes
    BYTE  bPitchAndFamily; BYTE 1 bytes
    TCHAR  szFaceName[LF_FACESIZE];   A(1 TO 32) AS string 32 bytes
    WORD  wWeight; WORD 2 bytes
    SHORT  sSpacing; SHORT 2 bytes
    COLORREF  crBackColor; LONG 4 bytes
    LCID  lcid; LONG 4 bytes
    DWORD  dwReserved; DWORD4 bytes
    SHORT  sStyle; SHORT 2 bytes
    WORD  wKerning; WORD 2 bytes
    BYTE  bUnderlineType; BYTE 1 bytes
    BYTE  bAnimation; BYTE 1 bytes
    BYTE  bRevAuthor; BYTE 1 bytes
    BYTE  bReserved1; BYTE 1 bytes
} CHARFORMAT2;
82 bytes

Members

cbSize
Size in bytes of the specified structure. This member must be set before passing the structure to the rich edit control.
dwMask
Members containing valid information or attributes to set. This member can be zero, one, or more than one of the following values.
CFM_BOLD
The CFE_BOLD value of the dwEffects member is valid.
CFM_CHARSET
The bCharSet member is valid.
CFM_COLOR
The crTextColor member and the CFE_AUTOCOLOR value of the dwEffects member are valid.
CFM_FACE
The szFaceName member is valid.
CFM_ITALIC
The CFE_ITALIC value of the dwEffects member is valid.
CFM_OFFSET
The yOffset member is valid.
CFM_PROTECTED
The CFE_PROTECTED value of the dwEffects member is valid.
CFM_SIZE
The yHeight member is valid.
CFM_STRIKEOUT
The CFE_STRIKEOUT value of the dwEffects member is valid.
CFM_UNDERLINE.
The CFE_UNDERLINE value of the dwEffects member is valid.
dwEffects
Character effects. This member can be a combination of the following values.
CFE_AUTOCOLOR
The text color is the return value of GetSysColor(COLOR_WINDOWTEXT).
CFE_BOLD
Characters are bold.
CFE_DISABLED
RichEdit 2.0 and later: Characters are displayed with a shadow that is offset by 3/4 point or one pixel, whichever is larger.
CFE_ITALIC
Characters are italic.
CFE_STRIKEOUT
Characters are struck.
CFE_UNDERLINE
Characters are underlined.
CFE_PROTECTED
Characters are protected; an attempt to modify them will cause an EN_PROTECTED notification message.
yHeight
Character height, in twips (1/1440 of an inch or 1/20 of a printer's point).
yOffset
Character offset, in twips, from the baseline. If the value of this member is positive, the character is a superscript; if it is negative, the character is a subscript.
crTextColor
Text color. This member is ignored if the CFE_AUTOCOLOR character effect is specified. To generate a COLORREF, use the RGB macro.
bCharSet
Character set value. The bCharSet member can be one of the values specified for the lfCharSet member of the LOGFONT structure. Rich Edit 3.0 may override this value if it is invalid for the target characters.
bPitchAndFamily
Font family and pitch. This member is the same as the lfPitchAndFamily member of the LOGFONT structure.
szFaceName
Null-terminated character array specifying the font name.

Remarks

This structure is used with the EM_GETCHARFORMAT and EM_SETCHARFORMAT messages.

Structure Information

HeaderDeclared in Richedit.h
Minimum operating systems Windows 95, Windows NT 4.0
UnicodeImplemented as Unicode and ANSI versions on

See Also

Rich Edit Controls Overview, CHARFORMAT2, EM_GETCHARFORMAT, EM_SETCHARFORMAT, EN_PROTECTED