MFC使用SkinH皮肤之后如何再自绘控件?
为什么使用了SkinH给界面添加皮肤之后,就不能再去改变控件的字体颜色和背景颜色呢?我尝试在OnCtlColor函数中去绘制某个控件的字体颜色和背景颜色,发现并没有任何变化,不使用皮肤时就是有效的,请问如何在使用皮肤的情况下再对控件进行绘制呢?
HBRUSH CMyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 在此更改 DC 的任何特性
if (pWnd->GetDlgCtrlID() == IDC_EDIT){
pDC->SetTextColor(RGB(255,255,0));
pDC->SetBkColor(RGB(0, 0, 0));
return CreateSolidBrush(RGB(0, 0, 0));
}
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
return hbr;
}