ReBarCtrl.cpp
上传用户:xywutai
上传日期:2007-01-02
资源大小:72k
文件大小:2k
源码类别:

工具条

开发平台:

Visual C++

  1. #include "stdafx.h"
  2. #include "ReBarCtrl.h"
  3. #ifdef _DEBUG
  4. #define new DEBUG_NEW
  5. #undef THIS_FILE
  6. static char THIS_FILE[] = __FILE__;
  7. #endif
  8. /////////////////////////////////////////////////////////////////////////////
  9. // CReBarCtrlEx
  10. CReBarCtrl::CReBarCtrl()
  11. {
  12.   // initialize common controls
  13.   INITCOMMONCONTROLSEX icex;
  14.   icex.dwSize = sizeof(icex);
  15.   icex.dwICC = ICC_COOL_CLASSES;
  16.   VERIFY(InitCommonControlsEx(&icex));
  17. }
  18. BOOL CReBarCtrl::Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd,
  19.                         UINT nID)
  20. {
  21.   CWnd* pWnd = this;
  22.   return pWnd->Create(REBARCLASSNAME, NULL, dwStyle, rect, pParentWnd, nID);
  23. }
  24. CImageList* CReBarCtrl::GetImageList() const
  25. {
  26.   REBARINFO rbi;
  27.   rbi.cbSize = sizeof(rbi);
  28.   rbi.fMask = RBIM_IMAGELIST;
  29.   return GetBarInfo(&rbi) ? CImageList::FromHandle(rbi.himl) : NULL;
  30. }
  31. BOOL CReBarCtrl::SetImageList(CImageList* pImageList)
  32. {
  33.   REBARINFO rbi;
  34.   rbi.cbSize = sizeof(rbi);
  35.   rbi.fMask = RBIM_IMAGELIST;
  36.   rbi.himl = (HIMAGELIST)pImageList->GetSafeHandle();
  37.   return SetBarInfo(&rbi);
  38. }
  39. BOOL CReBarCtrl::GetColorScheme(COLORSCHEME* lpcs)
  40. {
  41.   lpcs->dwSize = sizeof(COLORSCHEME);
  42.   return SendMessage(RB_GETCOLORSCHEME, 0, (LPARAM)lpcs);
  43. }
  44. void CReBarCtrl::SetColorScheme(const COLORSCHEME* lpcs)
  45. {
  46.   ((COLORSCHEME*)lpcs)->dwSize = sizeof(COLORSCHEME);
  47.   SendMessage(RB_SETCOLORSCHEME, 0, (LPARAM)lpcs);
  48. }
  49. /////////////////////////////////////////////////////////////////////////////
  50. IMPLEMENT_DYNAMIC(CReBarCtrl, CWnd)
  51. /////////////////////////////////////////////////////////////////////////////