当我用
m_edit1.SetReadOnly(TRUE);
就不能删除但是edit控件背景颜色也变灰了,问这样使背景颜色不变呢?
或用什么别的方法呢?

解决方案 »

  1.   

    如果你是在一个dialog里面用到edit控件的话,只需重载dialog的OnCtlColor消息映射函数就可以了
      

  2.   

    msdn上面解释得很清楚,你应该自己去查
    我这里有一个现成的例子,在对话框中完成只读编辑框背景颜色不变的功能
    HBRUSH CMyDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    if (pWnd->GetDlgCtrlID() == IDC_YOUREDITNAME)
    {
    pDC->SetBkMode(TRANSPARENT);
    pDC->SetBkColor(RGB(255, 255, 255));
    static CBrush m_brushEdit(RGB(255, 255, 255));
    hbr = m_brushEdit;
    }
    return hbr;
    }
      

  3.   

    waiwaiwai(我总不明白) 
    我终于明白