mfc设置控件背景色,mfcbutton改变颜色

  mfc设置控件背景色,mfcbutton改变颜色

  MS-VisualC++的类库(微软基础班的缩写)类库提供了CWnd:OnCtlColor函数,在工作框架的子窗口被重画时将调用该成员函数。因此可以重载WM_CTLCOLOR消息的响应函数。此函数的原型:afx _ msg HB rush onctl color(CDC * pDC,CWnd

  *pWnd,UINT nCtlColor);

  参数nCtlColor用于指定控件的类型,可以是:按钮颜色

  按钮控件。数字线划图颜色

  对话框。CTLCOLOR_EDIT编辑框。CTLCOLOR_LISTBOX

  列表控件。CTLCOLOR_MSGBOX

  消息控件。CTLCOLOR _滚动条滚动条控件。CTLCOLOR_STATIC

  静态控件

  假设你已有了名为我的的对话框工程。你有了一个静电的控件,ID为IDC_STATIC1 .

  画刷

  CMyDlg:OnCtlColor(CDC*

  pDC、CWnd*

  pWnd,UINT nCtlColor)

  {

  HBRUSH hbr

  =CDialog:OnCtlColor(pDC,

  pWnd,nCtlColor);

  //TODO:更改任何

  直流电的属性在这里

  if (nCtlColor==CTLCOLOR_STATIC)

  {

  pDC- SetTextColor(RGB(255,0,0));//字体颜色

  pDC- SetBkColor(RGB(0,0,

  255));//字体背景色

  }

  //TODO:

  如果不需要默认值,返回不同的画笔

  返回虎贝尔

  }

  如果要指定某个特定控件可以这样写:ID为IDC_STATIC1

  if(pWnd-GetDlgCtrlID()==IDC _ static 1)

  {

  pDC- SetTextColor(RGB(255,0,0));//设置字体颜色

  pDC- SetBkMode(透明);//设置字体背景为透明

  //TODO:返回一个

  如果不需要默认设置,则使用不同的笔刷

  return(HBRUSH):GetStockObject(BLACK _ BRUSH);//设置背景色

  }

  其他

  返回虎贝尔

  【注】

  黑色_笔刷:黑色

  白色_画笔:白色

  灰色_画笔:灰色

  空_刷:透明

  空心_画笔:透明

  来自:http://博客。。net/wny 198816/文章/详情/6784523

mfc设置控件背景色,mfcbutton改变颜色