【问题标题】:MFC how to change the background color of a disabled CEditMFC如何改变禁用的CEdit的背景颜色
【发布时间】:2022-12-21 01:26:21
【问题描述】:

我想更改设置为 disabledCEdit 的背景颜色。 我试图在OnCtlColor中更改它。但是 CEdit 仍然是灰色背景:

m_hEditBrush = ::CreateSolidBrush(RGB(255, 255, 255));

...

if (nCtlColor == CTLCOLOR_EDIT)
    {
        CString ss;
        pWnd->GetWindowText(ss);
        switch(pWnd->GetDlgCtrlID())
        {
        case IDC_EDIT_USERNAME:
        {
            pDC->SetBkColor(EDIT_BK_COLOR);
            return m_hEditBrush;
            break;
        }
        default:
            break;
        }
    }

【问题讨论】:

    标签: visual-c++ mfc


    【解决方案1】:

    对于禁用的编辑控件,需要回复CTLCOLOR_STATIC

    if (nCtlColor == CTLCOLOR_STATIC)
    {
        switch (pWnd->GetDlgCtrlID())
        {
        case IDC_EDIT_USERNAME:
        {
            pDC->SetBkColor(EDIT_BK_COLOR));
            return m_hEditBrush;
            break;
        }
        default:
            break;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2010-09-18
      • 2022-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多