簡體   English   中英

MFC Rich編輯控件2.0文本顏色

[英]MFC Rich edit control 2.0 Text color

我認為這里的想法很簡單,但我似乎無法弄清楚。 本質上,我擁有的是僅具有一個豐富的編輯控件2.0和其中一些文本的MFC單視圖應用程序。 只需說此控件說“請單擊此處以快進”即可。

CHARFORMAT cf = { sizeof(cf) };
cf.dwEffects = CFM_BOLD;
cf.dwMask = CFM_BOLD;
m_pMessageTextBox.SetSel(13, 17);
m_pMessageTextBox.SetSelectionCharFormat(cf);

現在,我的代碼片段中的粗體字就是“這里”,這正是我想要的。 但是除了加粗,我還想將整個文本的顏色更改為紅色。

我只需要查看如何將Rich Edit Control 2.0中的文本轉換為其他顏色即可。 我瀏覽了stackoverflow和google,與此相關的許多文檔都來自10年前。

是一個最近問到的問題,除了他的帖子是我真的不在乎的巨大代碼片段之外,我問的是相同的問題。 我已經嘗試使用

cf.crTextColor = RGB(255,0,0); 

使用之前

m_pMessageTextBox.SetSelectionCharFormat(cf);

一切都沒有改變,我認為在這種情況下,粗體字將同時為粗體和紅色,但僅保持黑色。

好的,所以我設法弄清楚了,我的一條條件語句被破壞了,所以我的代碼的一部分從未真正被讀取過。 對於遇到此問題的任何人,這就是我所使用的:

CHARFORMAT cf = { sizeof(cf) };
cf.dwEffects = CFM_BOLD;
cf.dwMask = CFM_BOLD;
m_pMessageTextBox.SetSel(13, 17);
m_pMessageTextBox.SetSelectionCharFormat(cf);
cf.cbSize = sizeof(cf);
cf.dwMask = CFM_COLOR;
cf.dwEffects = 0;
m_pMessageTextBox.SetSel(0, -1);
m_pMessageTextBox.SetSelectionCharFormat(cf); 

為此,我還沒有機會試用它,看看我是否可以縮短它,但是它正在按照我現在想要的方式工作。 首先,它執行粗體屬性並將其應用於文本,然后執行文本顏色屬性並將其從文本的開始到末尾應用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM