MFC按钮控件的颜色设置

这东西花了我不少时间了,还没搞好。有书谈到编辑控件的背景和字体颜色设置:HBRUSHCMFC11Dlg::OnCtlColor(CDC*pDC,CWnd*pWnd,UIN... 这东西花了我不少时间了,还没搞好。
有书谈到编辑控件的背景和字体颜色设置:
HBRUSH CMFC11Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if(CTLCOLOR_DLG==nCtlColor){
return NULL;
}//else if(CTLCOLOR_BTN==nCtlColor){
// pDC->SetTextColor(RGB(255,255,0));
// pDC->SetBkColor(RGB(255,0,0));
//}
if(pWnd->GetDlgCtrlID()==IDC_BUTTON2){
pDC->SetTextColor(RGB(255,0,0));
pDC->SetBkColor(RGB(255,255,255));
return m_brush;
}
if(CTLCOLOR_EDIT==nCtlColor){
pDC->SetBkColor(RGB(0,255,0));
pDC->SetTextColor(RGB(255,0,0));
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
我仿照他对按钮颜色进行设置,如上面的注释掉的代码,但是没反应。
网上查了查,看到有详细介绍控件颜色设置的,如上的
if(pWnd->GetDlgCtrlID()==IDC_BUTTON2){
pDC->SetTextColor(RGB(255,0,0));
pDC->SetBkColor(RGB(255,255,255));
return m_brush;
}
是其中代码。
第二种方式首先要在对话框中添加CBrush变量,然后在构造函数中用此变量创建画刷:
m_brush.CreateSolidBrush(RGB(0,0,255));
接着就是上面的代码了。
说得跟真的一样,但是完全没有反应啊。
展开
 我来答
zjiqmk
2015-03-18 · TA获得超过139个赞
知道答主
回答量:35
采纳率:0%
帮助的人:22.8万
展开全部
没那么麻烦,我能说MFC自带的MFC Button Control控件等按钮,自己就可以修改颜色,还能添加图片,设置字体颜色等。这些控件就在工具箱的下面,前面带MFC开头的那些。你先复制原来按钮的ID,再删掉原来的按钮,拖入MFC按钮,再把这个按钮的ID改为原来按钮的ID,就能提换掉原来的按钮,然后给这个按钮添加变量。在需要改颜色的地方调用m_btn.SetFaceColor(RGB(0, 255, 0));这样的就行了。其他的功能百度或MSDN MFCButton。
这里也有一些http://tech.cncms.com/develop/cjj/95068.html
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式