【发布时间】:2016-10-26 13:27:45
【问题描述】:
我在使用 WTL 设置 CStatic 的背景颜色时遇到问题(我猜我在使用 MFC 时也会遇到同样的问题)
我有一个黑色背景的窗口,上面有一个从 CStatic 派生的控件。我正在通过 WM_CTLCOLORSTATIC 消息设置颜色。我基本上可以工作,但确实有文本的控件部分显示为白色。
这是回调中的代码:
LRESULT CReportResults::OnCtrColorStatic(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
if ((HWND)lParam == m_wndLoadingLabel.m_hWnd)
{
HDC hDC = (HDC)wParam;
SetBkColor(hDC, APP_COLOR_BACKGROUND);
SetTextColor(hDC, APP_COLOR_TEXT);
}
return 0;
}
这就是它最终在屏幕上的样子。控件本身比其中的文本大,但我不知道如何让控件的其余部分用黑色背景绘制。似乎将背景颜色设置为黑色只会影响显示文本的区域。关于我可能做错了什么有什么想法吗?
【问题讨论】: