如何在静态文本视觉工作室中更改背景颜色?

Posted

技术标签:

【中文标题】如何在静态文本视觉工作室中更改背景颜色?【英文标题】:How to change background color in static text visual studio? 【发布时间】:2017-11-14 12:46:25 【问题描述】:

我正在尝试更改项目中静态文本的背景颜色。我们也使用 BCG 库。

在小时。我有文件

afx_msg HBRUSH CtlColor(CDC * pDC, CWnd * pWnd, UINT nCtlColor);
COLORREF m_bckNewsClr;

在 cpp.我有:

m_bckNewsClr = RGB(255, 255, 255);

HBRUSH CStartPage::CtlColor(CDC * pDC, CWnd * pWnd, UINT nCtlColor)

    pWnd->GetDlgItem(IDC_STATIC_NEWS_CAPTION_1);
    pDC->SetBkColor(m_bckNewsClr);
    return (HBRUSH)m_Brush.GetSafeHandle();

在按摩地图中:

ON_WM_CTLCOLOR()

无论如何,当我放置断点时,函数 CtlColor 甚至是不可见的。

有人知道在这种情况下如何更改此背景静态文本吗?

【问题讨论】:

您可以使用 Spy++(如果 x64 目标平台:Spy++ 64)来发现消息是否真的是 WM_CTLCOLOR 。我怀疑在特定情况下是 WM_CTLCOLORSTATIC 。关于***.com/a/43120662/383779的更多指导 ON_WM_CTLCOLOR 将消息重定向到 OnCtlColor 【参考方案1】:

ON_WM_CTLCOLOR 需要一个名为:

afx_msg HBRUSH OnCtlColor(
   CDC* pDC,
   CWnd* pWnd,
   UINT nCtlColor 
);

另请参阅CWnd::OnCtlColor 了解如何操作的示例。

还有https://***.com/a/12007350/8918119

【讨论】:

以上是关于如何在静态文本视觉工作室中更改背景颜色?的主要内容,如果未能解决你的问题,请参考以下文章

如何根据背景颜色自动更改视图的透明颜色

notepad++如何更改编辑界面前背景颜色?

如何更改背景选择的颜色故事板静态单元格

如何在 win32API 中更改静态窗口的背景颜色? [复制]

如何在 mac 终端中更改文本颜色和背景?

出现错误时如何在颤动中更改背景颜色文本框?