繁体   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