首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

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

2012-07-04 
改变静态文本控件的背景色CDC *pDC HDC hdc HWND hWndGetDlgItem(IDC_STATIC1)-m_hWnd hdc::GetDC(h

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

热点排行