CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

《〈〈按钮加背景色〉〉》帮忙

楼主wsshello(wsshello)2003-09-02 23:10:58 在 VC/MFC / 基础类 提问

//改变按钮的背景色。  
  HBRUSH   CRectWindow2View::OnCtlColor(CDC*   pDC,   CWnd*   pWnd,   UINT   nCtlColor)    
  {  
  HBRUSH   hbr   =   CFormView::OnCtlColor(pDC,   pWnd,   nCtlColor);  
   
  //   TODO:   Change   any   attributes   of   the   DC   here  
    switch   (nCtlColor)    
          {    
                  case   CTLCOLOR_BTN:    
                 
                  {    
                      CBrush   Brush   (RGB   (128   ,   0   ,   128)   );//你的颜色  
   
                      CBrush*   pOldBrush   =   pDC->SelectObject(&Brush);  
   
                      pDC->SelectObject   (pOldBrush   );  
  }    
           
                  return   CFormView::OnCtlColor(pDC,   pWnd,   nCtlColor);    
  }    
  ///但编译通不过,提示错误:fatal   error   C1004:   unexpected   end   of   file   found 问题点数:0、回复次数:16Top

1 楼Zark(金陵五月)回复于 2003-09-02 23:16:40 得分 0

唉!  
  少了一个}.  
   
  Top

2 楼wsshello(wsshello)回复于 2003-09-03 08:59:06 得分 0

没有啊Top

3 楼wsshello(wsshello)回复于 2003-09-03 16:11:51 得分 0

hiTop

4 楼lzwcom(梅花香自苦寒来)回复于 2003-09-03 16:28:55 得分 0

switch   (nCtlColor)    
          {    
                  case   CTLCOLOR_BTN:    
                 
                  {    
                      CBrush   Brush   (RGB   (128   ,   0   ,   128)   );//你的颜色  
   
                      CBrush*   pOldBrush   =   pDC->SelectObject(&Brush);  
   
                      pDC->SelectObject   (pOldBrush   );  
  }    
           
                  return   CFormView::OnCtlColor(pDC,   pWnd,   nCtlColor);    
  }----->>>>>少一个}Top

5 楼he_zhidan(何志丹:www.dzlishi.net,www.vcshare.net)回复于 2003-09-03 16:30:48 得分 0

3个{  
  2个}Top

6 楼wsshello(wsshello)回复于 2003-09-03 17:25:11 得分 0

warning   C4715:   'CRectWindow2View::OnCtlColor'   :   not   all   control   paths   return   a   value  
   
  显示错误在最后一个}处。  
  Top

7 楼wsshello(wsshello)回复于 2003-09-03 18:19:35 得分 0

HITop

8 楼fqyugu()回复于 2003-09-03 19:01:22 得分 0

没有返回值?Top

9 楼wsshello(wsshello)回复于 2003-09-03 19:40:10 得分 0

有啊。Top

10 楼wsshello(wsshello)回复于 2003-09-03 19:58:02 得分 0

HITop

11 楼wsshello(wsshello)回复于 2003-09-03 20:15:34 得分 0

WWTop

12 楼Zark(金陵五月)回复于 2003-09-03 23:12:28 得分 0

楼主还真够倔强.  
   
  改为:  
  HBRUSH   CRectWindow2View::OnCtlColor(CDC*   pDC,   CWnd*   pWnd,   UINT   nCtlColor)    
  {  
          HBRUSH   hbr   =   CFormView::OnCtlColor(pDC,   pWnd,   nCtlColor);  
   
          //   TODO:   Change   any   attributes   of   the   DC   here  
          switch   (nCtlColor)    
          {    
          case   CTLCOLOR_BTN:    
                  {    
                            CBrush   Brush   (RGB   (128   ,   0   ,   128)   );//你的颜色  
                            CBrush*   pOldBrush   =   pDC->SelectObject(&Brush);  
                            pDC->SelectObject   (pOldBrush   );  
  }    
           
          }   //-这下子看清楚了吧,这个少一个"}",唉......  
          return   CFormView::OnCtlColor(pDC,   pWnd,   nCtlColor);    
  }    
  Top

13 楼wsshello(wsshello)回复于 2003-09-04 14:58:07 得分 0

我加了},但效果出不来。各位试过吗?Top

14 楼wsshello(wsshello)回复于 2003-09-04 16:18:01 得分 0

HITop

15 楼wsshello(wsshello)回复于 2003-09-04 20:01:38 得分 0

ddTop

16 楼Zark(金陵五月)回复于 2003-09-04 22:31:52 得分 0

一是一,二是二,前面你只是提问代码的编译问题,而不是运行问题.  
   
  关于运行问题:  
  1.   那个CBrush必须是类的成员变量,在类的构造函数中赋值.  
  2.   不要两次调用CFormView::OnCtlColor()函数.  
  3.   不要在CDC中选用自己的CBrush,而是要返回它.  
   
  HBRUSH   CRectWindow2View::OnCtlColor(CDC*   pDC,   CWnd*   pWnd,   UINT   nCtlColor)    
  {  
          HBRUSH   hbr   =   CFormView::OnCtlColor(pDC,   pWnd,   nCtlColor);  
   
          //   TODO:   Change   any   attributes   of   the   DC   here  
          switch   (nCtlColor)    
          {    
          case   CTLCOLOR_BTN:  
                return   m_hBrush;           //自己定义的刷子.  
           
          }    
          return   hbr;  
  }    
  Top

相关问题

  • 怎么改变按钮背景颜色?
  • 按钮的背景色怎么设?
  • 如何给button等按钮和控件加背景色或者图片?还有dialog如何增加背景色和图片背景,请帮忙?感谢!!
  • DELPHI中如何在按钮中加入背景色和如何用按钮实现菜单的效果(不使用toolbutton)?
  • Toolbar控件按钮图片背景色(与ImageList绑定)与按钮的背景色不一致,如何处理?
  • 对话框背景色,对话框上按钮的背景色怎么调呀!
  • 怎样改变窗口和按钮的背景颜色?
  • 怎么改变CButton按钮控件的背景颜色????
  • 关于改变按钮控件背景色的问题。
  • 如何改变BUTTON按钮的背景色??

关键词

  • dc
  • view
  • nctlcolor
  • onctlcolor
  • pdc
  • cformview
  • cbrush
  • poldbrush
  • pwnd
  • hbrush

得分解答快速导航

  • 帖主:wsshello

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo