How to change the color of static text in MFC

int nTColor;

void SetTextColor(int nColor)

{

    if(0==nTColor)

  {

    SetDlgItemText(IDC_STC1,"black");

    nTColor=0;

  }

  else if(1==nTColor)

  {

    SetDlgItemText(IDC_STC1,"green");

    nTColor=1;

  }

else 

  if(2==nTColor)

  {

    SetDlgItemText(IDC_STC1,"黄色");

    nTColor=2;

  }

}

 

Overload virtual function OnCtrlColor(DCD *pDC,CWnd *pWnd,UINT nCtrlColor)

HBRUSH COpticalPowerMeterDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    
    // TODO: Change any attributes of the DC here
    if(pWnd->GetDlgCtrlID()==IDC_STC1)
    {
        if(0==nTColor)
        {
            pDC->SetTextColor(RGB(0,0,0));//黑色
        }
        else if(1==nTColor)
        {
            pDC->SetTextColor(RGB(0,255,0));//绿色
        }
        else if(2==nTColor)
        {
            pDC->SetTextColor(RGB(250,250,30));//黄色
        }
    }
    return hbr;
}

Guess you like

Origin blog.csdn.net/Hat_man_/article/details/106396248