www.pudn.com > mu_explorer.rar > CJReBar.h
// CJReBar.h : header file
// Copyright © 1998-1999 CodeJock.com, All Rights Reserved.
// See ReadMe.txt for TERMS OF USE.
//
// Copied from MFC, Visual C++ 6, to extend functionality to Visual C++ 5
// users, with some ideas taken from Luis Barreira's article 'Classes for new IE4 controls'
// http://www.codeguru.com/controls/ie4_controls_classes.shtml
//
/////////////////////////////////////////////////////////////////////////////
/****************************************************************************
*
* $Date: 8/31/99 1:11a $
* $Revision: 8 $
* $Archive: /CodeJockey/Include/CJReBar.h $
*
* $History: CJReBar.h $
*
* ***************** Version 8 *****************
* User: Kirk Stowell Date: 8/31/99 Time: 1:11a
* Updated in $/CodeJockey/Include
* Updated copyright and contact information.
*
* ***************** Version 7 *****************
* User: Kirk Stowell Date: 7/31/99 Time: 4:27p
* Updated in $/CodeJockey/Include
*
* ***************** Version 5 *****************
* User: Kirk Stowell Date: 7/25/99 Time: 10:00p
* Updated in $/CodeJockey/Include
*
* ***************** Version 4 *****************
* User: Kirk Stowell Date: 7/25/99 Time: 12:42a
* Updated in $/CodeJockey/Include
*
* ***************** Version 3 *****************
* User: Kirk Stowell Date: 6/23/99 Time: 12:33a
* Updated in $/CodeJockey/Include
*
* ***************** Version 2 *****************
* User: Kirk Stowell Date: 7/18/99 Time: 10:13p
* Updated in $/CodeJockey/Include
* Cleaned up inline functions, and import/export macro so that class will
* be imported when linked to, and exported at compile time.
*
* ***************** Version 1 *****************
* User: Kirk Stowell Date: 7/14/99 Time: 10:29p
* Created in $/CodeJockey/Include
* Copied from MFC v6 and techno preview for v5. Added to extend
* functionality to Visual C++ 5.0 users.
*
***************************************************************************/
/////////////////////////////////////////////////////////////////////////////
#ifndef __CJREBAR_H__
#define __CJREBAR_H__
#include "CJToolBarBase.h"
#ifdef _VC_VERSION_5
#define AFX_IDW_REBAR 0xE804 // COMCTL32 "rebar" Bar
#define AFX_IDW_DIALOGBAR 0xE805 // CDialogBar
#endif // _VC_VERSION_5
/////////////////////////////////////////////////////////////////////////////
class CCJReBarCtrl;
// A CCJReBar object is a control bar that provides layout, persistence, and state
// information for rebar controls.
class CCJReBar : public CCJToolBarBase
{
DECLARE_DYNAMIC(CCJReBar)
// Construction
public:
CCJReBar();
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
CCJReBarCtrl& GetReBarCtrl() const;
// 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);
// Implementation
virtual void OnUpdateCmdUI(CFrameWnd* pTarget, BOOL bDisableIfNoHndler);
virtual int OnToolHitTest(CPoint point, TOOLINFO* pTI) const;
virtual CSize CalcFixedLayout(BOOL bStretch, BOOL bHorz);
virtual CSize CalcDynamicLayout(int nLength, DWORD nMode);
#ifdef _DEBUG
void EnableDocking(DWORD dwDockStyle);
#endif
protected:
virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
BOOL _AddBar(CWnd* pBar, REBARBANDINFO* pRBBI);
//{{AFX_MSG(CCJReBar)
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
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
// Inline functions
/////////////////////////////////////////////////////////////////////////////
inline CCJReBarCtrl& CCJReBar::GetReBarCtrl() const
{ return *(CCJReBarCtrl*)this; }
#endif //__CJREBAR_H__
/////////////////////////////////////////////////////////////////////////////