ALL,
来自MSDN
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;
下划线颜色仅针对>=0x0800的控件版本声明。但是,我应该为以前的版本做些什么?
此外,在Windows 8.1上,此变量似乎不可用。MSVC 2010表示。
那么,如何使bUnderlineType显示"红色波浪"下划线而不使用标准的黑色呢?
谢谢。
[编辑]抱歉,我最近在MSDN中发现了这个矛盾。。。虽然这个页面说它在RichEdit 4.1+中可用,但这个页面说在RichEdit 3.0+中可用。现在我知道没有人关心RichEdit 1.0,但很多系统仍在使用XP,也就是3.0,因为MS Word确实有红色的波浪形下划线。问题是,虽然underlinetype设置非常简单,但3.0上下划线的颜色却不是。有人知道该怎么办吗?[/EDIT]
那么,如何使bUnderlineType显示"红色波浪"下划线而不使用标准的黑色呢?
我没有使用版本4,所以我在问如何在版本2和版本3中使用它。
来自文件:
CFU_UNDERLINEWAVE
RichEdit 4.1及更高版本:带波浪线下划线的文本。
和
#if (_RICHEDIT_VER >= 0x0800) BYTE bUnderlineColor; #endif
因此,您正在寻找的功能在您所针对的旧富编辑版本中不存在。