VC中一些控件的小技巧

发表于:2008-06-04来源:作者:点击数: 标签:控件技巧
关键字:VC 控件 技巧介绍了一下五个小技巧:1.让ListControl有CheckBox2.让ListBox有CheckBox3.Spin Control与EditControl的绑定4.可以设置背景和文字颜色的Static控件5.在Static控件中显示BMP 1.让ListControl有CheckBox 用SetExtendedStyle方法可以设置,
关键字:VC 控件 技巧介绍了一下五个小技巧: 1.让List Control有Check Box 2.让List Box有Check Box 3.Spin 
      Control与Edit Control的绑定 4.可以设置背景和文字颜色的Static控件 5.在Static控件中显示BMP
      1.让List Control有Check Box
      用SetExtendedStyle方法可以设置,看代码:
      (CListCtrl m_ListCtrl;)
      DWORD dwStyle = m_ListCtrl.GetStyle();
      dwStyle |= LVS_EX_CHECKBOXES;
      m_ListCtrl.SetExtendedStyle(dwStyle);
      2.让List Box有Check Box
      首先,声明Control变量的时候用CCheckListBox代替CListBox。
      然后,将List Box的Has Strings属性改为True;把Ower Draw属性改为Fixed。
      3.Spin Control与Edit Control的绑定
      首先,要让Spin Control的Tap Order紧跟着Edit Control(就是说,Spin Control的Tap Order是Edit 
      Control的Tap Order加1)。
      然后,设置Spin Control的Auto Buddy和Set Buddy Integer属性为True。
      4.可以设置背景和文字颜色的Static控件
      从CStatic类继承一个自己的Static类,相应WM_CTLCOLOR消息。下面是代码:
      .h文件:
      class ClxStatic : public CStatic
      {
          DECLARE_DYNAMIC(ClxStatic)
      public:
          ClxStatic();
          virtual ~ClxStatic();
          afx_msg HBRUSH CtlColor(CDC* /*pDC*/, UINT /*nCtlColor*/);
          void SetBackColor(COLORREF clrBack);
          void SetTextColor(COLORREF clrText);
      protected:
          DECLARE_MESSAGE_MAP()
          CBrush m_brushBack;
          COLORREF m_clrBack;
          COLORREF m_clrText; 
      };
      .cpp文件:
      IMPLEMENT_DYNAMIC(ClxStatic, CStatic)
      ClxStatic::ClxStatic()
      {
          m_clrBack = ::GetSysColor(COLOR_BTNFACE);
          m_clrText = ::GetSysColor(COLOR_BTNTEXT);
      }
      ClxStatic::~ClxStatic()
      {
      }
      void ClxStatic::SetBackColor(COLORREF clrBack)
      {
          m_clrBack = clrBack;
      }
      void ClxStatic::SetTextColor(COLORREF clrText)

原文转自:http://www.ltesting.net