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

工具条

开发平台:

Visual C++

  1. #ifndef __RBAR_H__
  2. #define __RBAR_H__
  3. #ifndef __AFXWIN_H__
  4.   #include <afxwin.h>
  5. #endif
  6. #ifndef __AFXDISP_H__
  7.   #include <afxdisp.h>
  8. #endif
  9. #include "ControlBarEx.h"
  10. #define WM_SETMESSAGESTRING 0x0362  // wParam = nIDS (or 0),
  11.                                     // lParam = lpszOther (or NULL)
  12. #define WM_POPMESSAGESTRING 0x0375
  13. #define AFX_IDW_REBAR 0xEEEE
  14. /////////////////////////////////////////////////////////////////////////////
  15.   class CReBarCtrl;
  16. /////////////////////////////////////////////////////////////////////////////
  17. // CReBar
  18. class CReBar : public CControlBarEx
  19. {
  20.   DECLARE_DYNAMIC(CReBar)
  21. // Construction
  22. public:
  23.   CReBar();
  24.   BOOL Create(CWnd* pParentWnd, DWORD dwCtrlStyle = RBS_BANDBORDERS,
  25.     DWORD dwStyle = WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_TOP,
  26.     UINT nID = AFX_IDW_REBAR);
  27. // Attributes
  28. public:
  29.   // for direct access to the underlying common control
  30.   CReBarCtrl& GetReBarCtrl() const
  31.   { return *(CReBarCtrl*)this; }
  32.   // Operations
  33. public:
  34.   BOOL AddBar(CWnd* pBar, LPCTSTR pszText = NULL, CBitmap* pbmp = NULL,
  35.     DWORD dwStyle = RBBS_GRIPPERALWAYS | RBBS_FIXEDBMP);
  36.   BOOL AddBar(CWnd* pBar, COLORREF clrFore, COLORREF clrBack,
  37.     LPCTSTR pszText = NULL, DWORD dwStyle = RBBS_GRIPPERALWAYS);
  38. // Implementation
  39.   virtual void OnUpdateCmdUI(CFrameWnd* pTarget, BOOL bDisableIfNoHndler);
  40.   virtual int OnToolHitTest(CPoint point, TOOLINFO* pTI) const;
  41.   virtual CSize CalcFixedLayout(BOOL bStretch, BOOL bHorz);
  42.   virtual CSize CalcDynamicLayout(int nLength, DWORD nMode);
  43. #ifdef _DEBUG
  44.   void EnableDocking(DWORD dwDockStyle);
  45. #endif
  46. protected:
  47.   virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
  48.   BOOL _AddBar(CWnd* pBar, REBARBANDINFO* pRBBI);
  49.   //{{AFX_MSG(CReBar)
  50.   afx_msg BOOL OnNcCreate(LPCREATESTRUCT);
  51.   afx_msg void OnPaint();
  52.   afx_msg void OnHeightChange(NMHDR* pNMHDR, LRESULT* pResult);
  53.   afx_msg void OnNcPaint();
  54.   afx_msg void OnNcCalcSize(BOOL, NCCALCSIZE_PARAMS*);
  55.   afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  56.   afx_msg LRESULT OnShowBand(WPARAM wParam, LPARAM lParam);
  57.   //}}AFX_MSG
  58.   DECLARE_MESSAGE_MAP()
  59. };
  60. #endif //__RBAR_H__
  61. /////////////////////////////////////////////////////////////////////////////