关于函数OnCtlColor()改变btn按钮控件的文字颜色和背景颜色的问题
HBRUSHCLogin::OnCtlColor(CDC*pDC,CWnd*pWnd,UINTnCtlColor){HBRUSHhbr=CDialogEx::OnCtlC...
HBRUSH CLogin::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
if(nCtlColor==CTLCOLOR_STATIC)
{
pDC->SetTextColor(RGB(255,255,0));
pDC->SetBkColor(RGB(0,0,255));
}
///这里运行后,static控件能改变字体颜色和背景颜色。。
if(nCtlColor==CTLCOLOR_BTN)
{
pDC->SetBkMode(TRANSPARENT);//背景
pDC->SetTextColor(RGB(255,255,0));//字体颜色
}
///可是这里运行后,button按钮控件的字体颜色背景颜色不会改变,为啥呢???????
return hbr;
} 展开
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
if(nCtlColor==CTLCOLOR_STATIC)
{
pDC->SetTextColor(RGB(255,255,0));
pDC->SetBkColor(RGB(0,0,255));
}
///这里运行后,static控件能改变字体颜色和背景颜色。。
if(nCtlColor==CTLCOLOR_BTN)
{
pDC->SetBkMode(TRANSPARENT);//背景
pDC->SetTextColor(RGB(255,255,0));//字体颜色
}
///可是这里运行后,button按钮控件的字体颜色背景颜色不会改变,为啥呢???????
return hbr;
} 展开
1个回答
2015-04-22
展开全部
要改变颜色是要返回指定颜色的CBrush的handle.
所以定义一个CBrush的member data, 再返回他
所以定义一个CBrush的member data, 再返回他
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询