更改CRichEditCtrl选择颜色时遇到的问题

时间:2010-06-14 07:13:38

标签: visual-c++ mfc

我在创建CRichEditCtrl

后编写了以下代码

// 06112010:添加了以下代码以突出显示黑色的textselection而不是CRichEditCtrl的默认蓝色。 - 1311

{

m_EditControl.SetSel(0,100);
CHARFORMAT2 cf1;
cf1.cbSize = sizeof(CHARFORMAT2);
m_EditControl.GetSelectionCharFormat(cf1);
cf1.dwMask = CFM_BACKCOLOR ;
cf1.dwEffects &= ~CFE_AUTOBACKCOLOR;
cf1.crBackColor = RGB(0,0,0);
m_EditControl.SetSelectionCharFormat(cf1);
m_EditControl.Invalidate();

}

在此之后我添加了文字,但选择仍然是蓝色而不是黑色。有人可以告诉我我做错了什么? 谢谢, DEV

1 个答案:

答案 0 :(得分:0)

您无法使用SetSelectionCharFormat执行此操作,SetSelectionCharFormat仅重新格式化所选文本。你要求的是一个拥有者绘制丰富的编辑控件,这将比从CWnd派生你自己的自定义窗口并实现你自己的WM_PAINT处理程序更多的工作。