RTToolBar.h
上传用户:qhonly
上传日期:2013-06-10
资源大小:487k
文件大小:2k
源码类别:

界面编程

开发平台:

Visual C++

  1. #pragma once
  2. // CRTToolBar
  3. class CRTToolBar : public CToolBar
  4. {
  5. DECLARE_DYNAMIC(CRTToolBar)
  6. public:
  7. CRTToolBar();
  8. virtual ~CRTToolBar();
  9. BOOL LoadToolBar (UINT nIDResource);
  10. BOOL InsertControl (int nIndex, CWnd& Ctrl);
  11. void TrackPopupMenu (int nID, CMenu* pMenu);
  12. static BOOL EnableSkin(BOOL IsEnable = TRUE);
  13. protected:
  14. DECLARE_MESSAGE_MAP()
  15. public:
  16. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  17. protected:
  18. static BOOL      m_IsEnableSkin;
  19. static CBitmap * m_ToolBarBitamp[4];
  20. static UINT      m_ToolBarBitmapDrawMode[4];
  21. virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
  22. BYTE m_bCheckVisibility;
  23. CSize CalcDynamicLayout (int nLength, DWORD dwMode);
  24. void OnButtonDropDown (NMHDR* lpnmhdr, LRESULT* plResult);
  25. public:
  26. afx_msg void OnPaint();
  27. static BOOL SetBitmap(CBitmap* ToolBarBitmap[],UINT DrawMode[]);
  28. };
  29. #define DROPDOWN(item) ((WORD)-item)
  30. #define IS_STDBTN(button)        (((button).fsStyle&(TBSTYLE_SEP|TBSTYLE_CHECKGROUP))==TBSTYLE_BUTTON)
  31. #define IS_CHECKBTN(button)      (((button).fsStyle&(TBSTYLE_SEP|TBSTYLE_CHECKGROUP))==TBSTYLE_CHECK)
  32. #define IS_GROUPBTN(button)      (((button).fsStyle&(TBSTYLE_SEP|TBSTYLE_CHECKGROUP))==TBSTYLE_CHECKGROUP)
  33. #define IS_DROPDOWN(button)      (((button).fsStyle&TBSTYLE_DROPDOWN)==TBSTYLE_DROPDOWN)
  34. #define IS_SEPARATOR(button)     (((button).fsStyle&TBSTYLE_SEP)&&((button).idCommand==0))
  35. #define IS_CONTROL(button)       (((button).fsStyle&TBSTYLE_SEP)&&((button).idCommand!=0))
  36. #define IS_CHECKED(button)       (((button).fsState&TBSTATE_CHECKED)==TBSTATE_CHECKED)
  37. #define IS_ENABLED(button)       (((button).fsState&TBSTATE_ENABLED)==TBSTATE_ENABLED)
  38. #define IS_INDETERMINATE(button) (((button).fsState&TBSTATE_INDETERMINATE)==TBSTATE_INDETERMINATE)
  39. #define IS_PRESSED(button)       (((button).fsState&TBSTATE_ENABLED)==TBSTATE_PRESSED)
  40. #define IS_VISIBLE(button)       (((button).fsState&TBSTATE_HIDDEN)==0)
  41. #define IS_WRAP(button)          (((button).fsState&TBSTATE_WRAP)==TBSTATE_WRAP)