让一个ComboBox的显示字符串以给定的颜色显示,怎么做?


rt
问题点数: 20、 回复次数: 5

//   SuperComboBox.cpp   :   implementation   file  
  //  
   
  #include   "stdafx.h"  
  #include   "cfileinfo.h"  
  #include   "SuperComboBox.h"  
   
  #ifdef   _DEBUG  
  #define   new   DEBUG_NEW  
  #undef   THIS_FILE  
  static   char   THIS_FILE[]   =   __FILE__;  
  #endif  
   
  /  
  //   CSuperComboBox  
   
  CSuperComboBox::CSuperComboBox()  
  {  
  m_TextColor   =   RGB(0,   0,   0);  
          m_BackColor   =   TRANS_BACK;  
  m_EditColor   =   RGB(255,   255,   255);  
  }  
   
  CSuperComboBox::~CSuperComboBox()  
  {  
  }  
   
   
  BEGIN_MESSAGE_MAP(CSuperComboBox,   CComboBox)  
  //{{AFX_MSG_MAP(CSuperComboBox)  
  ON_WM_DESTROY()  
  ON_WM_CTLCOLOR()  
  //}}AFX_MSG_MAP  
  END_MESSAGE_MAP()  
   
  /  
  //   CSuperComboBox   message   handlers  
   
  void   CSuperComboBox::OnDestroy()    
  {  
  CComboBox::OnDestroy();  
  if   (   m_Edit.GetSafeHwnd()   !=   NULL   )  
            {  
                    m_Edit.UnsubclassWindow();  
            }  
  //   TODO:   Add   your   message   handler   code   here  
  }  
   
  HBRUSH   CSuperComboBox::OnCtlColor(CDC*   pDC,   CWnd*   pWnd,   UINT   nCtlColor)    
  {  
  if   (   nCtlColor   ==   CTLCOLOR_EDIT   )  
            {  
                    if   (   m_Edit.GetSafeHwnd()   ==   NULL   )  
                    {  
                              m_Edit.SubclassWindow(   pWnd->GetSafeHwnd());  
      m_Edit.SetTextColor(m_TextColor);  
      m_Edit.SetEditColor(m_EditColor);  
      m_Edit.SetBackColor(m_BackColor);  
    }  
  }  
  else   if   (nCtlColor   ==   CTLCOLOR_LISTBOX)  
          {  
  //istBox   control  
    if   (m_List.GetSafeHwnd()   ==   NULL)  
  {  
  m_List.SubclassWindow(pWnd->GetSafeHwnd());  
  m_List.SetTextColor(m_TextColor);  
  m_List.SetEditColor(m_EditColor);  
  m_List.SetBackColor(m_BackColor);  
  }  
        }  
  return   CComboBox::OnCtlColor(   pDC,   pWnd,   nCtlColor   );    
  }  
   
 
Top

/*===========================================================================  
  ====                                                                                                                                           ====  
  ====         File   name                       :     EditTrans.h                                                               ====  
  ====         Creation   date               :     7/10/2001                                                                   ====  
  ====         Author(s)                       :     Dany   Cantin                                                               ====  
  ====                                                                                                                                           ====  
  ===========================================================================*/  
   
  #ifndef   EDITTRANS_H  
  #define   EDITTRANS_H  
   
  #if   _MSC_VER   >   1000  
  #pragma   once  
  #endif   //   _MSC_VER   >   1000  
   
   
  /  
  //   CEditTrans   window  
   
  #define   TRANS_BACK   -1  
   
  class   CEditTrans   :   public   CEdit  
  {  
  //   Construction  
  public:  
  CEditTrans();  
   
  //   Attributes  
  private:  
          COLORREF   m_TextColor;  
          COLORREF   m_BackColor;  
  COLORREF   m_EditColor;  
          CBrush       m_Brush;  
  //   Operations  
  public:  
          void   SetTextColor(COLORREF   col)   {   m_TextColor   =   col;  
                                                                              UpdateCtrl();             }  
          void   SetBackColor(COLORREF   col)   {   m_BackColor   =   col;  
                                                                              UpdateCtrl();             }  
  void   SetEditColor(COLORREF   col)   {   m_EditColor   =   col;  
                                                                              UpdateCtrl();             }  
  private:  
          void   UpdateCtrl();  
   
  //   Overrides  
  //   ClassWizard   generated   virtual   function   overrides  
  //{{AFX_VIRTUAL(CEditTrans)  
  //}}AFX_VIRTUAL  
   
  //   Implementation  
  public:  
  virtual   ~CEditTrans();  
   
  //   Generated   message   map   functions  
  protected:  
  //{{AFX_MSG(CEditTrans)  
  afx_msg   HBRUSH   CtlColor(CDC*   pDC,   UINT   nCtlColor);  
  afx_msg   void   OnUpdate();  
  afx_msg   void   OnLButtonDown(UINT   nFlags,   CPoint   point);  
  afx_msg   void   OnKillfocus();  
  //}}AFX_MSG  
   
  DECLARE_MESSAGE_MAP()  
  };  
   
  #endif   //   EDITTRANS_H  
 
Top

A   ZA   A   ZA,   FIGHTING! 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值