在创建CRichEditCtrl之后,我编写了以下代码
// 06112010 :添加了以下代码,以便以黑色突出显示所选文本,而不是默认的蓝色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
发布于 2011-06-03 04:22:18
您不能使用SetSelectionCharFormat执行此操作,因为它只会重新格式化选定的文本。您所要求的是一个所有者绘制的丰富的编辑控件,这将比仅仅从CWnd派生您自己的自定义窗口并实现您自己的WM_PAINT处理程序要做更多的工作。
https://stackoverflow.com/questions/3035534
复制相似问题