MFC组合框实际上是一种奇怪的设计。
我使用“drop list”类型的组合框。
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
它太不友好了。这个组合框。
答案 0 :(得分:4)
“编辑”框是组合框的子项。试试这个:
pWnd->GetParent()->GetDlgCtrlID() == IDC_COMBO