www.pudn.com > vc开发的精美界面.zip > BCGFrameImpl.h


//******************************************************************************* 
// COPYRIGHT NOTES 
// --------------- 
// This source code is a part of BCGControlBar library. 
// You may use, compile or redistribute it as part of your application  
// for free. You cannot redistribute it as a part of a software development  
// library without the agreement of the author. If the sources are  
// distributed along with the application, you should leave the original  
// copyright notes in the source code without any changes. 
// This code can be used WITHOUT ANY WARRANTIES on your own risk. 
//  
// For the latest updates to this library, check my site: 
// http://welcome.to/bcgsoft 
//  
// Stas Levin  
//******************************************************************************* 
 
// BCGFrameImpl.h: interface for the CBCGFrameImpl class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_BCGFRAMEIMPL_H__829B77B5_FE0E_11D1_8BCB_00A0C9B05590__INCLUDED_) 
#define AFX_BCGFRAMEIMPL_H__829B77B5_FE0E_11D1_8BCB_00A0C9B05590__INCLUDED_ 
 
#if _MSC_VER >= 1000 
#pragma once 
#endif // _MSC_VER >= 1000 
 
class CBCGToolBar; 
class CBCGMenuBar; 
class CBCGPopupMenu; 
 
#include "bcgcontrolbar.h" 
 
class BCGCONTROLBARDLLEXPORT CBCGFrameImpl 
{ 
	friend class CBCGMDIFrameWnd; 
	friend class CBCGFrameWnd; 
	friend class CBCGOleIPFrameWnd; 
	friend class CBCGMenuBar; 
	friend class CBCGToolbarsPage; 
	friend class CBCGWorkspace; 
 
public: 
	CBCGFrameImpl(CFrameWnd* pFrame); 
	virtual ~CBCGFrameImpl(); 
 
// Attributes: 
public: 
	const CBCGMenuBar* GetMenuBar () const 
	{ 
		return m_pMenuBar; 
	} 
 
protected: 
	UINT			m_uiUserToolbarFirst; 
	UINT			m_uiUserToolbarLast; 
	CObList			m_listUserDefinedToolbars; 
	CString			m_strControlBarRegEntry; 
	CBCGMenuBar*	m_pMenuBar; 
	HMENU			m_hDefaultMenu; 
	CFrameWnd*		m_pFrame; 
	CBCGPopupMenu*	m_pActivePopupMenu; 
	UINT			m_nIDDefaultResource; 
 
// Operations 
protected: 
	void InitUserToobars (LPCTSTR lpszRegEntry, UINT uiUserToolbarFirst, UINT uiUserToolbarLast); 
	void LoadUserToolbars (); 
	void SaveUserToolbars (); 
 
	void OnCloseFrame(); 
	void OnLoadFrame(); 
	void RestorePosition(CREATESTRUCT& cs); 
 
	BOOL IsDockStateValid (const CDockState& state); 
	BOOL IsUserDefinedToolbar (const CBCGToolBar* pToolBar) const; 
 
	void SetMenuBar (CBCGMenuBar* pMenuBar); 
	CBCGToolBar* GetUserBarByIndex (int iIndex) const; 
 
	void DockControlBarLeftOf(CControlBar* pBar, CControlBar* pLeftOf); 
 
	void SetupToolbarMenu (	CMenu& menu,  
							const UINT uiViewUserToolbarCmdFirst, 
							const UINT uiViewUserToolbarCmdLast); 
 
	const CBCGToolBar* CreateNewToolBar (LPCTSTR lpszName); 
	BOOL DeleteToolBar (CBCGToolBar* pToolBar); 
	BOOL ProcessKeyboard (int nKey); 
	BOOL ProcessMouseClick (UINT uiMsg, POINT pt, HWND hwnd); 
	BOOL ProcessMouseMove (POINT pt); 
 
	void FrameEnableDocking(CFrameWnd * pFrame, DWORD dwDockStyle); 
 
	BOOL OnShowPopupMenu (CBCGPopupMenu* pMenuPopup, CFrameWnd* pWndFrame); 
	BOOL OnMenuChar (UINT nChar); 
}; 
 
#endif // !defined(AFX_BCGFRAMEIMPL_H__829B77B5_FE0E_11D1_8BCB_00A0C9B05590__INCLUDED_)