下载此文档

按钮字体及颜色.doc


文档分类:办公文档 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
在Windows中Edit,StaticBox的背景色都可以通过处理WM_CTLCOLOR消息来改变,但Push   Button却不行。 
   
  唯一的方法是使用OwnerDraw风格的按钮。本文讲述的方法是使用CButton的派生类。 
   
  class   CCButton   :   public   CButton  
  {  
  Button)  
  public:  
          CCButton();    
          virtual   ~CCButton();    
          BOOL   CCButton::Attach(const   UINT   nID,   CWnd*   pParent)  
   
  protected:  
          virtual   void   DrawItem(LPDRAWITEMSTRUCT   lpDIS);//必需重载的函数 
   
  public:  
          COLORREF   m_fg,   m_bg,   m_disabled_fg,   m_disabled_bg;//四种颜色分别为文字,背景,失效时文字,失效时背景 
  };  
   
   
  实现DrawItem  
   
  void   CCButton::DrawItem(LPDRAWITEMSTRUCT   lpDIS)  
  {  
          CDC*   pDC   =   CDC::FromHandle(lpDIS->hDC);//???????DC  
   
          UINT   state   =   lpDIS->itemState;   //得到状态 
          CRect   focusRect,   btnRect;//两个矩形,表示得当输入焦点时的虚线矩形和按钮矩形           
          (&lpDIS->rcItem);    
          (&lpDIS->rcItem);    
   
          //  
          //调整虚线矩形 
          //  
            +=   4;  
          -=   4;  
          +=   4;  
          -=   4;  
   
          //  
          //   得当Button上文字 
          //  
        const   int   bufSize   =   512;  
        TCHAR   buffer[bufSize];  
        GetWindowText(buffer,   bufSize);  
           
        //   使用m_fg,   m_bg颜色利用  Draw3dRect(...)绘制按钮边框 
   
        //   FillRect(...)填充按钮内部 
   
        //   DrawText(...)绘制文字 
   
          //根据当前状态调整显示 
          //  
          if   (state   &   ODS_FOCUS)   {  
                  .........//得到输入焦点,通过focusRect画虚线 
                  if   (state   &   ODS_SELECTED){    
                  .....//   被按下,绘制下陷边框 
                  }  
          }  
          else   if   (state   &   ODS_DISABLED)   {  
          //失效,通过m_disabled_fg,   m_disabled_bg   重绘按钮内部 
          }  
  }    

按钮字体及颜色 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xunlai783
  • 文件大小41 KB
  • 时间2018-11-15