词条 | 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. dwMaskMembers 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. dwEffectCharacter 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. RemarkTo 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条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。