读书人

改变静态文本控件的背景色解决方案

发布时间: 2012-07-04 19:33:54 作者: rapoo

改变静态文本控件的背景色
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;

}

[解决办法]

探讨
重载对话框的虚函数OnCtlColor()就可改变CStatic的背景色

HBRUSH CShutDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

if(nCtlColor==CTLCOLOR_ST……

[解决办法]
http://download.csdn.net/detail/Oliver2891/3236720

读书人网 >VC/MFC

热点推荐