天天看點

如何改變CRichEdit字型顔色 vc

 如何改變CRichEdit字型顔色 vc

//該應用程式可以直接使用

m_richEdit 是CRichEdit控件變量

 void ModifyRichTextColor()

 {

  CHARFORMAT   cf;

  memset(&cf,0,sizeof(CHARFORMAT));

  this->m_richEdit.SetWindowText("彈道彈道彈道彈道彈道彈道飛彈對彈道彈道彈道彈道彈道彈道彈道彈道彈道彈道彈道彈道彈道飛彈浮動幅度凍豆腐對幅度浮動幅度奮鬥奮鬥奮鬥奮鬥發地方地方非凡非凡非凡非凡非凡非凡非凡方法小陽等級發動機防空洞幾分恐懼地方     地方地方地方的奮鬥奮鬥奮鬥奮鬥發地方地方地方的發  ");

  m_richEdit.SendMessage(WM_VSCROLL,SB_BOTTOM,0);

  this->m_richEdit.GetDefaultCharFormat(cf);  

  cf.dwMask=CFM_COLOR;  

  cf.dwEffects &=~CFE_AUTOCOLOR;   //   這個最重要,設選中文字顔色的時候也要注意,dwEffects一定不能有CEF_AUTOCOLOR的屬性  

  cf.crTextColor=RGB(255,0,0);

  this->m_richEdit.SetDefaultCharFormat(cf);

  CHARFORMAT cf1;

  this->m_richEdit.GetDefaultCharFormat(cf1);

  cf1.dwMask=CFM_COLOR|CFM_OFFSET|CFM_SIZE|CFM_FACE;

  cf1.dwEffects =CFE_BOLD|CFE_ITALIC;

  cf1.crTextColor = RGB(0,255,0);//設定顔色

  cf1.yHeight =200;//設定高度

  strcpy(cf.szFaceName ,_T("隸書"));//設定字型

  m_richEdit.SetSel(10,50);

  m_richEdit.SetSelectionCharFormat(cf1);

  m_richEdit.SetSel(120,200);

  m_richEdit.SetSelectionCharFormat(cf1);

 }