【问题标题】:Change border color of CComboBox to show error and warning更改 CComboBox 的边框颜色以显示错误和警告
【发布时间】:2025-12-18 05:15:02
【问题描述】:

我在我的项目中使用 CComboBox。我想改变焦点边框组合框的颜色

【问题讨论】:

  • 对于背景颜色,我可以建议您查看有关OnCtlColor的文档
  • @sergiol 我检查过它不工作
  • 显示你的代码,你有什么尝试。
  • 使用 Spy++ 检查正在传递的消息。

标签: visual-c++ mfc activex controls ccombobox


【解决方案1】:

终于完成了,它有一个非常简单的解决方案。 我只是重写了控件的onpaint方法。

void CComboBoxOwn::OnPaint()
{
CDC *dc = m_Parent->combobox->GetDC();
CRect rc; 
m_Parent->combobox->GetClientRect(rc);
HBRUSH hBrush = CreateSolidBrush(COLORREF(RGB(255, 0, 0)));
FrameRect(dc->m_hDC, rc, hBrush);
DeleteObject(hBrush);
ReleaseDC(dc);

return;
}

【讨论】:

  • 这看起来不对。绘画应始终使用CPaintDC。除此之外,完全不清楚m_Parent 是什么,或者它的combobox 成员。这个答案通常没有用,抱歉。
  • CComboboxown 是我的类,其中 m_parent 是 CComboCntl 类的成员变量。
最近更新 更多