怎么设置按钮,进度条,编辑框等控件的背景?
如何设置按钮,进度条,编辑框等控件的背景??
这是我的代码。
通过vc6.0 add window message handler添加OnCtlColor 函数
但是背景没有改变,
哪里出错了??
求大神指点
------解决方案--------------------
pDC->SetBkMode(TRANSPARENT);//这句是设置DC里文本绘制时是否有背景
pDC->SetBkColor(TRANSPARENT);//这句是设置DC里文本背景颜色,参数不应该是TRANSPARENT
最关键的是,你必须返回一个空画刷,而不是CDialog::OnCtlColor返回的那个.
正确方法:return (HBRUSH)GetStockObject(NULL_BRUSH);//返回一个空画刷
参考:标签背景透明以及文字重叠问题解决方法
http://bbs.****.net/topics/390401008
HBRUSH CDemoDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
pDC->SetBkMode(TRANSPARENT);
pDC->SetBkColor(TRANSPARENT);
// TODO: Change any attributes of the DC here
if(nCtlColor == IDC_EDIT1)
{
pDC->SetBkMode(TRANSPARENT);
pDC->SetBkColor(TRANSPARENT);
}
if(nCtlColor == IDC_BUTTON1)
{
pDC->SetBkMode(TRANSPARENT);
pDC->SetBkColor(TRANSPARENT);
}
if(nCtlColor == IDC_PROGRESS2)
{
pDC->SetBkMode(TRANSPARENT);
pDC->SetBkColor(TRANSPARENT);
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
这是我的代码。
通过vc6.0 add window message handler添加OnCtlColor 函数
但是背景没有改变,
哪里出错了??
求大神指点
控件
IDC
背景
VC
------解决方案--------------------
pDC->SetBkMode(TRANSPARENT);//这句是设置DC里文本绘制时是否有背景
pDC->SetBkColor(TRANSPARENT);//这句是设置DC里文本背景颜色,参数不应该是TRANSPARENT
最关键的是,你必须返回一个空画刷,而不是CDialog::OnCtlColor返回的那个.
正确方法:return (HBRUSH)GetStockObject(NULL_BRUSH);//返回一个空画刷
参考:标签背景透明以及文字重叠问题解决方法
http://bbs.****.net/topics/390401008