// This is a part of the Microsoft Foundation Classes C++ library. // Copyright (C) Microsoft Corporation // All rights reserved. // // This source code is only intended as a supplement to the // Microsoft Foundation Classes Reference and related // electronic documentation provided with the library. // See these sources for detailed information regarding the // Microsoft Foundation Classes product. #pragma once #include "afxcontrolbarutil.h" #include "afxpane.h" #include "afxcontrolbarimpl.h" #include <__atlmfc_core.h> #pragma warning(push) #pragma warning(disable : _ATLMFC_DISABLED_WARNINGS) #ifdef _AFX_PACKING #pragma pack(push, _AFX_PACKING) #endif #ifdef _AFX_MINREBUILD #pragma component(minrebuild, off) #endif class CReBarCtrl; class CMFCReBar : public CPane { DECLARE_DYNAMIC(CMFCReBar) // Construction public: CMFCReBar(); BOOL Create(CWnd* pParentWnd, DWORD dwCtrlStyle = RBS_BANDBORDERS, DWORD dwStyle = WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_TOP, UINT nID = AFX_IDW_REBAR); // Attributes public: // for direct access to the underlying common control CReBarCtrl& GetReBarCtrl() const; virtual BOOL CanFloat() const { return FALSE; } UINT GetReBarBandInfoSize () const { return m_nReBarBandInfoSize; } // Operations public: BOOL AddBar(CWnd* pBar, LPCTSTR pszText = NULL, CBitmap* pbmp = NULL, DWORD dwStyle = RBBS_GRIPPERALWAYS | RBBS_FIXEDBMP); BOOL AddBar(CWnd* pBar, COLORREF clrFore, COLORREF clrBack, LPCTSTR pszText = NULL, DWORD dwStyle = RBBS_GRIPPERALWAYS); virtual void SetPaneAlignment(DWORD dwAlignment); // Implementation virtual void OnUpdateCmdUI(CFrameWnd* pTarget, BOOL bDisableIfNoHndler); virtual INT_PTR OnToolHitTest(CPoint point, TOOLINFO* pTI) const; virtual CSize CalcFixedLayout(BOOL bStretch, BOOL bHorz); virtual BOOL OnShowControlBarMenu(CPoint /*point*/) { return FALSE; } virtual BOOL IsAccessibilityCompatible() { return FALSE; } #ifdef _DEBUG void EnableDocking(DWORD dwDockStyle); #endif protected: virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam); BOOL _AddMFCToolBar(CWnd* pBar, REBARBANDINFO* pRBBI); afx_msg BOOL OnNcCreate(LPCREATESTRUCT); afx_msg void OnPaint(); afx_msg void OnHeightChange(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnNcPaint(); afx_msg void OnNcCalcSize(BOOL, NCCALCSIZE_PARAMS*); afx_msg BOOL OnEraseBkgnd(CDC* pDC); afx_msg LRESULT OnShowBand(WPARAM wParam, LPARAM lParam); afx_msg void OnRecalcParent(); afx_msg void OnLButtonDown(UINT nFlags, CPoint point); afx_msg void OnLButtonUp(UINT nFlags, CPoint point); afx_msg void OnMouseMove(UINT nFlags, CPoint point); DECLARE_MESSAGE_MAP() CMFCControlBarImpl m_Impl; UINT m_nReBarBandInfoSize; }; #ifdef _AFX_MINREBUILD #pragma component(minrebuild, on) #endif #ifdef _AFX_PACKING #pragma pack(pop) #endif // _ATLMFC_DISABLED_WARNINGS #pragma warning(pop)