【发布时间】:2021-12-23 13:56:55
【问题描述】:
HBRUSH CDialog23::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
int Element = pWnd->GetFocus()->GetDlgCtrlID();
if (pWnd->GetDlgCtrlID() == Element && nCtlColor != CTLCOLOR_STATIC)
{
pDC->SetBkMode(TRANSPARENT);
pDC->SetBkColor(RGB(255, 230, 153));
hbr = m_Gelb;
return hbr;
}
else
{
pDC->SetBkMode(TRANSPARENT);
pDC->SetBkColor(RGB(255, 255, 255));
hbr = m_Weiss;
return hbr;
}
}
使用此代码,当我将焦点设置到其中一个时,我的 ComboBox 将变为黄色。但是,如果当前焦点设置为组合框之一,则当我使用光标悬停在它们上时(不单击它们),所有其他组合框都将变为黄色。此外,组合框的列表不会着色(它们的格式为下拉菜单)。
有什么想法吗?
【问题讨论】:
标签: mfc