注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Kandy

长风破浪会有时,直挂云帆济沧海!

 
 
 

日志

 
 

VC改变控件的颜色  

2009-12-06 14:09:10|  分类: MFC学习 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

       在很多时候我们都希望我们的界面变的很漂亮,那么就会经常需要改变控件的颜色了,现在就介绍一下如何改变一个控件的颜色。

首先需要重载消息WM_CTLCOLOR消息,产生OnCtlColor函数。

方法:1.在类向导中直接添加次消息响应

          2.分三步进行:

第一:
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);//在头文件中声明
在主文件中
第二:BEGIN_MESSAGE_MAP(COk1Dlg, CDialog)
//{{AFX_MSG_MAP(COk1Dlg)
。。。
ON_WM_CTLCOLOR() //要加这句
。。。。。。。
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
第三:加这个函数

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

再在OnCtlColor函数中添加设置代码,例:

HBRUSH   CTestDlg::OnCtlColor(CDC*   pDC,   CWnd*   pWnd,   UINT   nCtlColor)    
  {  
  HBRUSH   hbr   =   CDialog::OnCtlColor(pDC,   pWnd,   nCtlColor);   
    
   //   TODO:   Change   any   attributes   of   the   DC   here  
  int   nID   =   pWnd->GetDlgCtrlID();  
  pDC->SetBkMode(OPAQUE);  
  if(   nID   ==   IDC_EDIT1)   //此处为你的文本框ID  
  {  
          pDC->SetBkColor(RGB(0,0,255));//控件背景色  
          pDC->SetTextColor(   RGB(   0,255,0   )   );//控件前景色(文字)  
          return   ::CreateSolidBrush(RGB(0,0,255));//控件底色  
  }   
  //   TODO:   Return   a   different   brush   if   the   default   is   not   desired  
  return   hbr;  
  }  

  评论这张
 
阅读(477)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018