www.pudn.com > mu_explorer.rar > CJToolBarBase.h


// CJToolBarBase.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/CJToolBarBase.h $ 
 * 
 * $History: CJToolBarBase.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: 12:42a 
 * Updated in $/CodeJockey/Include 
 *  
 * *****************  Version 4  ***************** 
 * User: Kirk Stowell Date: 7/25/99    Time: 12:12a 
 * 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:10p 
 * 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 __CCJTOOLBARBASE_H__ 
#define __CCJTOOLBARBASE_H__ 
 
#ifdef _VC_VERSION_5 
typedef struct tagAFX_OLDTOOLINFO 
{ 
	UINT cbSize; 
	UINT uFlags; 
	HWND hwnd; 
	UINT uId; 
	RECT rect; 
	HINSTANCE hinst; 
	LPTSTR lpszText; 
} AFX_OLDTOOLINFO; 
 
#define CBRS_GRIPPER					0x00400000L 
#endif // _VC_VERSION_5 
 
// CCJToolBarBase is a CControlBar derived class whis is used  
// by the CCJToolBar class. 
class  CCJToolBarBase : public CControlBar 
{ 
	DECLARE_DYNAMIC(CCJToolBarBase) 
		// Construction 
protected: 
	CCJToolBarBase(); 
	 
// Attributes 
	// getting and setting border space 
	void SetBorders(LPCRECT lpRect); 
	void SetBorders(int cxLeft = 0, int cyTop = 0, int cxRight = 0, int cyBottom = 0); 
	CRect GetBorders() const; 
 
// Implementation 
public: 
	bool	m_bInReBar;	// true if rebar is parent. 
	bool	m_bExStyle;	// true if created with the CreateEx style. 
	 
	virtual ~CCJToolBarBase(); 
	virtual void DoPaint(CDC* pDC); 
	void DrawGripper(CDC* pDC, const CRect& rect); 
	 
	// implementation helpers 
	virtual LRESULT WindowProc(UINT nMsg, WPARAM wParam, LPARAM lParam); 
	void CalcInsideRect(CRect& rect, BOOL bHorz) const; // adjusts borders etc 
	void EraseNonClient(); 
	void DrawBorders(CDC* pDC, CRect& rect); 
	 
	//{{AFX_MSG(CCJToolBarBase) 
	afx_msg void OnPaint(); 
	afx_msg void OnWindowPosChanging(LPWINDOWPOS lpWndPos); 
	//}}AFX_MSG 
	DECLARE_MESSAGE_MAP() 
}; 
 
///////////////////////////////////////////////////////////////////////////// 
// inline functions 
///////////////////////////////////////////////////////////////////////////// 
 
inline void CCJToolBarBase::SetBorders(LPCRECT lpRect) 
	{ SetBorders(lpRect->left, lpRect->top, lpRect->right, lpRect->bottom); } 
 
#endif //__CCJTOOLBARBASE_H__ 
 
/////////////////////////////////////////////////////////////////////////////