MFC中一种改变静态文本颜色的方法

步骤以下:函数

一、添加全局变量:spa

      在.cpp文件中添加全局变量声明:变量

      BYTE R,G,B;date

二、手动添加OnCtlColor()函数文件

      在.h文件中添加函数声明:co

      afx_msg HBRUSH OnCtlColor(CDC*pDC, CWnd* pWnd, UINT nCtlColor);
     .cpp文件中添加:

     BEGIN_MESSAGE_MAP(CDefinedViewDlg, CDialog) 

      ... 
     ON_WM_CTLCOLOR()
     ...
     END_MESSAGE_MAP()
     //函数实现

    
HBRUSH CTestDlg::OnCtlColor(CDC* pDC,CWnd* pWnd, UINT nCtlColor)
   {
      HBRUSH hbr = CDialog::OnCtlColor(pDC,pWnd, nCtlColor);
      if (pWnd->GetDlgCtrlID()==IDC_STATIC)//控件
ID
          
pDC->SetTextColor(RGB(R,G,B)); //设置颜色

    
return hbr;
   }
return

三、在相应函数体中改变R,G,B的值,使文本颜色知足要求void

        如:颜色

           void CTestDlg::OnChangeTextColor()控件

           {

               SetDlgItemText(IDC_STATIC,"设备已链接");

               R=0;

               G=255;

               B=0;

               Invalidate(FALSE);//更新文本,文本"设备已链接”颜色变为绿色

            }