[code]
HBRUSH CFileoperationDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if (pWnd-> GetDlgCtrlID()==IDC_OPEN)
{
pDC-> SetTextColor(RGB(255,0,0)); //设置字体颜色
pDC-> SetBkMode(TRANSPARENT); //设置字体背景为透明
// TODO: Return a different brush if the default is not desired
return (HBRUSH)::GetStockObject(BLACK_BRUSH); // 设置背景色
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
[code]
为什么我重载了 这个函数却无法改变按钮控件中字体的颜色,但是可以修改静态文本框的颜色。 只要吧IDC_OPEN改为静态文本框的ID,就可以。
你试试win32写写看。在控件创建的时候例如case WM_CTLCOLORSTATIC里SetTextColor,然后响应一个WM_SETFONT定义下字体。
我win32写的没问题。