ALL,Какие значения использовать для RIchEdit Ctrl?
От 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 отображением подчеркивания «красной волны» и не использовать стандартный черный цвет?
спасибо.
[EDIT] К сожалению, я только недавно нашел противоречие в MSDN ... Хотя this страница говорит она доступна в RichEdit 4.1+, this страница говорит она доступна в RichEdit 3.0+. Теперь я знаю, что никто не заботится о RichEdit 1.0, но многие системы все еще используют XP, то есть 3.0, так как в MS Word есть красноватый оттенок, подчеркивающий там. Проблема: в то время как настройка underlinetype довольно проста, раскраска подчеркивания на 3.0 не является. У кого-нибудь есть идея, что делать? [/ EDIT]
http://stackoverflow.com/questions/1756263/how-to-change-underlining-color-in-a-rich-edit-control-win32-c – edtheprogrammerguy
@edtheprogrammerguy, я попробовал предложение из комментария, т.е. «cf.bUnderlineType = CFU_UNDERLINEWAVE | 0x05;», но это не сработает. У меня нет версии 4, поэтому я спрашиваю, как это сделать в версиях 2 и 3. Любая идея? – Igor