背景改变了,但文字颜色没有改变。 在这里我的代码:
case WM_CTLCOLORSTATIC:
{
DWORD CtrlID = GetDlgCtrlID((HWND)lParam); //Window Control ID
if(CtrlID == IDC_CHECK_CHAT)
{
HDC hdcStatic = (HDC) wParam;
SetTextColor(hdcStatic, RGB(255,255,255));
SetBkColor(hdcStatic, RGB(70,70,70));
return (INT_PTR)hBrush;
}
}
资源文件:
CONTROL "Blah Blah Blah",IDC_CHECK_CHAT,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,24,72,137,10
答案 0 :(得分:5)
您需要先使用SetWindowTheme删除主题:
HWND hwndCheckbox = GetDlgItem(_hdlg, IDC_CHECK_CHAT);
SetWindowTheme(hwndCheckbox, L"wstr", L"wstr");
之前你可以为文字着色。