Изменение цвета в Richedit Windowless операции

Я пытаюсь добиться чего-то похожего на выделение домена. Я хочу, чтобы часть моего текста в расширенном окне редактирования была другого цвета, как у нас в функции выделения доменов в IE.

Выпуск:
Я знаю, что мы должны сначала использовать EM_EXSETSEL выбрать необходимый текст и затем применить EM_SETCHARFORMAT,

EM_EXSETSEL выполнить необходимую операцию, и нужный текст будет выбран правильно.
Тем не менее, когда я выполняю EM_SETCHARFORMAT в выбранном тексте не происходит никаких изменений.

Окно создается с использованием RICHEDIT_CLASS.

Любая помощь будет оценена.

0

Решение

Как насчет чего-то вроде этого (чтобы выделить жирный красный текст на текущем выделении):

   // Set up the CHARFORMAT structure
CHARFORMAT cfm;
cfm.cbSize = sizeof(cfm);    // Don't forget this!

// Get char format
::SendMessage(hWnd, EM_GETCHARFORMAT, SCF_SELECTION, (LPARAM)&cfm);

// Set the new effects
cfm.dwEffects   = CFE_BOLD;
cfm.crTextColor = RGB(255,0,0);
cfm.dwMask      = CFM_BOLD | CFM_COLOR;

// Set the new format
::SendMessage(hWnd, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cfm);

где hWnd — дескриптор окна элемента управления Rich Edit.

Если нет … тогда опубликуйте некоторый код, чтобы мы могли видеть, где вы можете ошибаться …

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]