【问题标题】:Problems encountered in changing a CRichEditCtrl selection color更改 CRichEditCtrl 选择颜色时遇到的问题
【发布时间】:2010-06-14 07:13:38
【问题描述】:

我在创建 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();

}

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

【问题讨论】:

    标签: visual-c++ mfc


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多