改变静态文本控件的背景色
CDC *pDC;
HDC hdc;
HWND hWnd=GetDlgItem(IDC_STATIC1)->m_hWnd;
hdc=::GetDC(hWnd);
pDC=CDC::FromHandle(hdc);
pDC->SetBkColor(RGB(255,255,255));
请教各位高手,我想改变对话框上的静态文本的背景颜色,才接触VC不久,通过获得静态文本控件句柄,然后获得控件的设备描述表,再利用SetBkColor来改变,这个思路对么?为什么没有反应?
谢谢!
[解决办法]
重载对话框的虚函数OnCtlColor()就可改变CStatic的背景色
HBRUSH CShutDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if(nCtlColor==CTLCOLOR_STATIC)
{
//让静态文本框透明
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(255,255,255));
}
return hbr;
}
[解决办法]