【问题标题】:Change the item background color of a combobox in MFC?在 MFC 中更改组合框的项目背景颜色?
【发布时间】:2012-03-29 20:59:47
【问题描述】:

我想在使用 AddString 方法时更改组合框项目的背景颜色。

【问题讨论】:

    标签: c++ visual-c++ mfc


    【解决方案1】:

    从 CComboBox 派生一个类并覆盖 OnCtlColor。 OnCtlColor中nCtlColor参数为CTLCOLOR_LISTBOX时,调用DC::SetBkColor方法。

    可能是这样的:

    HBRUSH CMyComboBox::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
    {
        if (nCtlColor == CTLCOLOR_LISTBOX)
            pDC->SetBkColor(RGB(255, 0, 0));
    
        return CComboBox::OnCtlColor(pDC, pWnd, nCtlColor);
    }
    

    灵感来自herehere

    【讨论】:

    • 这也适用于 CComboBoxEx 吗?因为我试过了,好像不行……
    猜你喜欢
    • 2016-07-09
    • 2013-06-07
    • 2022-08-17
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多