【发布时间】: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。关于stackoverflow.com/a/43120662/383779的更多指导 -
ON_WM_CTLCOLOR将消息重定向到 OnCtlColor
标签: visual-c++ mfc bcg