I have an non read only edit control for which I need to change colors so I handle WM\_CTLCOLOREDIT. It works well when I am typing continuously but the problem is when I hit backspace or delete or even start typing from the middle of an existing text, the display is all junked up. That remains untill I cause a repaint by resizing the parent etc. How to fix this?

Edit: Some detail. The problem seems only when the background color is set and not when just the text color is set. The code looks like this

```
ON_MESSAGE(WM_CTLCOLOREDIT, OnEditColor)

LRESULT CMyWindow::OnEditColor(WPARAM wp, LPARAM lp)
{
    HDC hdc = (HDC)wp;
    HWND hwnd = (HWND)lp;
    if(hwnd == m_edit.GetSafeHwnd())
    {
    //  SetBkMode(hdc, TRANSPARENT);
        MyControlInfo*pcti;// accessed from somewhere
        SetTextColor(hdc, pcti->theme.clrText);
    //  return (LRESULT)pcti->brush.GetSafeHandle();
    }
    return 0;
}

```

Thanks