Идея здесь довольно проста, я подумал, но я не могу понять это. По сути, у меня есть однопользовательское приложение MFC с одним богатым редактором редактирования 2.0 и некоторым текстом в нем. Позвольте просто сказать, что этот контроль говорит: «Пожалуйста, нажмите здесь, чтобы ускорить движение вперед».MFC Rich control control 2.0 Цвет текста
CHARFORMAT cf = { sizeof(cf) };
cf.dwEffects = CFM_BOLD;
cf.dwMask = CFM_BOLD;
m_pMessageTextBox.SetSel(13, 17);
m_pMessageTextBox.SetSelectionCharFormat(cf);
Теперь этот фрагмент кода я просто выделил слово «здесь», которое я хочу. Но помимо смелости, я хочу изменить цвет всего текста на красный.
Мне нужно только посмотреть, как вы поменяете текст в расширенном редакторе редактирования 2.0 на другой цвет. Я просматривал stackoverflow и google, и многие документы касались этого от 10 лет назад +.
Here Недавний вопрос, заданный вопросом, который задает тот же вопрос, который я делаю, кроме его сообщения - это гигантский фрагмент кода, который мне действительно неинтересен. Я уже пробовал использовать
cf.crTextColor = RGB(255,0,0);
перед использованием
m_pMessageTextBox.SetSelectionCharFormat(cf);
ничего не изменится, я думал, что в этом случае смелое слово будет смелым и красным, в то же время, но это только остается черным.
Возможно, имеет смысл обменять операции - сначала покрасьте весь текст, затем жирным шрифтом выделите отдельный раздел. BTW, в чем смысл использования текста «нажмите здесь», если вы на самом деле не делаете его доступным для кликов? Используйте маску 'CFM_LINK', чтобы разрешить эффект' CFE_LINK', тогда кликаемый текст будет генерировать уведомление «EN_LINK» при нажатии. –
Ваш ответ не имеет никакого смысла, если у него нет 'cf.crTextColor = RGB (255,0,0); 'line! – sergiol