请输入您要查询的百科知识:

 

词条 CHARFORMAT structure of MFC
释义

CHARFORMAT structure of MFC是Microsoft Foundation Classes (MFC)即微软类库中字符格式类的结构。结构中不可或缺的两个成员是dwMask和 dwEffects,前者是定义或设置字符的字体、颜色、粗体、斜体、下划线等属性值,后者则是相关属性的效果。

基本语义

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 dwMask;

DWORD dwEffects;

LONG yHeight;

LONG yOffset;

COLORREF crTextColor;

BYTE bCharSet;

BYTE bPitchAndFamily;

TCHAR szFaceName[LF_FACESIZE];

} CHARFORMAT;

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.

dwEffect

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.

Remark

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.

相信大家没心情看完,现在我只解释一下dwmask与dweffects的区别:dweffects记录了字体的部分信息,如粗体,但是这些信息是否有效却是由swmask决定的,请看下面的解释,如:CFM_BOLD The CFE_BOLD value of the dwEffects member is valid.也就是说只有当dwmask&cfm_bold!=0时才表明字体加粗,这也是为什么在最后help里面会强调关闭字体作用时,设置dwmask的值,而不是dweffects。(个人愚见,错误之处见谅)

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/12/23 23:06:22