Вы не можете сделать это с помощью простого CEdit, вам нужно переопределить несколько бит.
Внедрите свой собственный обработчик ON_WM_CTLCOLOR_REFLECT, затем верните цветной CBrush в обработчик:
( грубо говоря, вам нужно разместить обычное управление ресурсами там, rememebr, чтобы удалить кисть в деструкторе)
class CColorEdit : public CEdit
{
....
CBrush m_brBkgnd;
afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor)
{
m_brBkgnd.DeleteObject();
m_brBkgnd.CreateSolidBrush(nCtlColor);
}
}