我在创建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
答案 0 :(得分:0)
您无法使用SetSelectionCharFormat执行此操作,SetSelectionCharFormat仅重新格式化所选文本。你要求的是一个拥有者绘制丰富的编辑控件,这将比从CWnd派生你自己的自定义窗口并实现你自己的WM_PAINT处理程序更多的工作。