Change color of Edit Box

Hi,

I am working with Dialog Based application. I have an edit box of type CString.
Is there a way where I can change the text color inside that box to any color I want?

PS: I don't want to change the text color for my whole dialog, just for that particualr box.

Thanks
LVL 1
mfcseekerAsked:
Who is Participating?
 
waelothmanConnect With a Mentor Commented:
try this
class CTestDlg : public CDialog
{
protected:
 CBrush m_redbrush;
};


Then, add these lines in the OnInitDialog function:

BOOL CTestDlg::OnInitDialog()
{
 m_redbrush.CreateSolidBrush(RGB(255,0,0));    
}
Finally do this on the ID_CTLCOLOR handle:

HBRUSH CTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
  HBRUSH hbr;

  switch (nCtlColor)
  {
  // process my edit controls by ID.
  case CTLCOLOR_EDIT:

  switch (pWnd->GetDlgCtrlID())
    {    
    case IDC_EDIT1 :         // the id of your controle
     pDC->SetBkColor(RGB(255,0,0));  
      pDC->SetTextColor(RGB(0,254,0));  // change the text color
      hbr = (HBRUSH)  m_redbrush;
      break;  
   default:
      hbr=CDialog::OnCtlColor(pDC,pWnd,nCtlColor);
      break;
    }  
    break;
 default:
    hbr=CDialog::OnCtlColor(pDC,pWnd,nCtlColor);
  }

  return hbr; }
wait yor commeny
0
All Courses

From novice to tech pro — start learning today.