我处理的WM_CTLCOLOR消息,在OnCtlColor函数中对对应的group box做了如下处理:
pDC->SetTextColor(RGB(255,0,0));
pDC->SetBkColor(RGB(255,255,255));
cbr.CreateSolidBrush(bGColor);
hbr = (HBRUSH)cbr.GetSafeHandle();
pDC->SetBkMode(TRANSPARENT);
break;
当我用多字节方式编码时可以改变字体颜色,但是换成unicode方式就改不了了,在网上搜了搜也没找到答案,请告诉解答下,谢谢。
------解决方案--------------------
你试试这样行不行,我测试没问题
CWnd *pwnd=GetDlgItem(IDC_GROUPBOX);//作图区域
CDC *pdc=pwnd->GetDC();
pDC->SetTextColor(RGB(255,0,0));
pDC->SetBkColor(RGB(255,255,255));
cbr.CreateSolidBrush(bGColor);
hbr = (HBRUSH)cbr.GetSafeHandle();
pDC->SetBkMode(TRANSPARENT);
ReleaseDC(pdc);