【发布时间】:2021-02-18 22:50:06
【问题描述】:
我正在尝试在我的 MFC 应用程序的对话框窗口中更改静态文本(以及复选框项)的颜色。
按照这个 (MFC - change text color of a cstatic text control) 和类似的建议,我在 ON_WM_CTLCOLOR() 消息上做了以下操作:
HBRUSH CMyDialog::OnCtlColor(CDC* pDC, CWnd *pWnd, UINT nCtlColor)
{
pDC->SetTextColor(RGB(255, 0, 0));
return (HBRUSH)GetStockObject(NULL_BRUSH);
}
问题是这只影响编辑文本框,而不影响静态文本或复选框。那些仍然有黑色文本。
我还尝试寻找类似于 winapi 的 WM_CTLCOLORSTATIC 消息的东西,因为它在 win32 应用程序中运行良好,但在 MFC 中没有找到任何等效项。知道如何更改静态文本和复选框文本的颜色吗?
【问题讨论】: