1

MFC コンボボックスは、実に奇抜な設計です。

「ドロップリスト」タイプのコンボボックスを使用しています。

HBRUSH CValueInputDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)  
{
    HBRUSH hBrush = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
    if (nCtlColor == CTLCOLOR_STATIC || nCtlColor == CTLCOLOR_EDIT)
    {
        pDC->SetTextColor(RGB(255, 255, 255));  
        pDC->SetBkMode(TRANSPARENT);  
        hBrush = (HBRUSH)GetStockObject(NULL_BRUSH);
    }    
    return hBrush;
}

私がしているのは、CStatic と CEdit の色をすべて白にすることです。

しかし、コンボボックスの編集も白に変更していることに気付きました。

それは私が望んでいないことです。

それは私が望んでいないことです。そして私はそれを止めることはできません

pWnd->GetDlgCtrlID() == IDC_COMBO

それはとても不親切です。このコンボボックス。

4

1 に答える 1

4

エディット ボックスは、コンボ ボックスの子です。これを試して:

pWnd->GetParent()->GetDlgCtrlID() == IDC_COMBO

于 2012-08-09T14:57:08.797 に答える