如题,重载OnCtlColor,SetBkColor可以改变有焦点时候的颜色,没有焦点时候的颜色怎么修改呢???

解决方案 »

  1.   

    处理EDIT的EN_SETFOCUS EN_KILLFOCUS消息 在其中调用 OnCtlColor,SetBkColor
    设个标志区分 是否有焦点
    试试是否可行  good luck!
      

  2.   

    响应WM_CTLCOLOREDIT消息试试:       case WM_CTLCOLOREDIT :
             edit_id = GetWindowLong((HWND)lParam, GWL_ID);         if (SendMessage((HWND)lParam, EM_GETMODIFY, 0, 0) == TRUE)
               SetTextColor((HDC)wParam, RGB(0, 0, 255));         SetBkColor((HDC)wParam, ??COLOR);
             hBrushEdit = (HBRUSH)CreateSolidBrush(??COLOR);
             SelectObject((HDC)wParam, hBrushEdit);
             return (LRESULT)hBrushEdit;