www.pudn.com > editpad_src > bcgmdiframewnd.h, change:1999-11-22,size:5180b


//******************************************************************************* 
// 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. 
//  
// Stas Levin <stas@iet.co.il> 
//******************************************************************************* 
 
#if !defined(AFX_BCGMDIFRAMEWND_H__08B9EC04_DCE3_11D1_A64F_00A0C93A70EC__INCLUDED_) 
#define AFX_BCGMDIFRAMEWND_H__08B9EC04_DCE3_11D1_A64F_00A0C93A70EC__INCLUDED_ 
 
#if _MSC_VER >= 1000 
#pragma once 
#endif // _MSC_VER >= 1000 
// BCGMDIFrameWnd.h : header file 
// 
 
#include "bcgcontrolbar.h" 
#include "BCGFrameImpl.h" 
#include "BCGMainClientAreaWnd.h" 
 
class CBCGPopupMenu; 
class CBCGToolBar; 
class CBCGToolbarMenuButton; 
class CBCGToolbarButton; 
 
///////////////////////////////////////////////////////////////////////////// 
// CBCGMDIFrameWnd frame 
 
class BCGCONTROLBARDLLEXPORT CBCGMDIFrameWnd : public CMDIFrameWnd 
{ 
	friend class CBCGMainClientAreaWnd; 
	friend class CBCGMenuBar; 
	friend class CBCGToolbarsPage; 
	friend class CBCGWorkspace; 
	friend class CBCGPopupMenu; 
 
	DECLARE_DYNCREATE(CBCGMDIFrameWnd) 
 
protected: 
	CBCGMDIFrameWnd();           // protected constructor used by dynamic creation 
 
// Attributes 
public: 
	BOOL IsMenuBarAvailable () const 
	{ 
		return m_Impl.GetMenuBar () != NULL; 
	} 
 
	const CBCGMenuBar* GetMenuBar () const 
	{ 
		return m_Impl.GetMenuBar (); 
	} 
 
	UINT GetDefaultResId () const 
	{ 
		return m_Impl.m_nIDDefaultResource; 
	} 
 
	CBCGPopupMenu*	GetActivePopup () const 
	{ 
		return m_Impl.m_pActivePopupMenu; 
	} 
 
protected: 
	BOOL					m_bIsTlbCustMode; 
	CBCGMainClientAreaWnd	m_wndClientArea; 
	HMENU					m_hmenuWindow; 
	CBCGFrameImpl			m_Impl; 
	BOOL					m_bContextHelp; 
	BOOL					m_bDoSubclass; 
 
// Operations 
public: 
	void EnableDocking (DWORD dwDockStyle); 
	void DockControlBarLeftOf (CControlBar* pBar, CControlBar* pLeftOf); 
 
	void SetupToolbarMenu (	CMenu& menu, 
							const UINT uiViewUserToolbarCmdFirst, 
							const UINT uiViewUserToolbarCmdLast) 
	{ 
		m_Impl.SetupToolbarMenu (menu, uiViewUserToolbarCmdFirst, uiViewUserToolbarCmdLast); 
	} 
 
protected: 
	BOOL OnSetMenu (HMENU hmenu); 
 
// Implementation: 
	void InitUserToobars (LPCTSTR lpszRegEntry, UINT uiUserToolbarFirst, UINT uiUserToolbarLast) 
	{ 
		m_Impl.InitUserToobars (lpszRegEntry, uiUserToolbarFirst, uiUserToolbarLast); 
	} 
 
	void LoadUserToolbars () 
	{ 
		m_Impl.LoadUserToolbars (); 
	} 
 
	void SaveUserToolbars () 
	{ 
		m_Impl.SaveUserToolbars (); 
	} 
 
	BOOL IsDockStateValid (const CDockState& state) 
	{ 
		return m_Impl.IsDockStateValid (state); 
	} 
 
 
	CBCGToolBar* GetUserBarByIndex (int iIndex) const 
	{ 
		return m_Impl.GetUserBarByIndex (iIndex); 
	} 
 
// Overrides 
	// ClassWizard generated virtual function overrides 
	//{{AFX_VIRTUAL(CBCGMDIFrameWnd) 
	public: 
	virtual BOOL PreTranslateMessage(MSG* pMsg); 
	virtual BOOL LoadFrame(UINT nIDResource, DWORD dwDefaultStyle = WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE, CWnd* pParentWnd = NULL, CCreateContext* pContext = NULL); 
	virtual void WinHelp(DWORD dwData, UINT nCmd = HELP_CONTEXT); 
	protected: 
	virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext); 
	virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam); 
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs); 
	//}}AFX_VIRTUAL 
 
	virtual HMENU GetWindowMenuPopup (HMENU hMenuBar); 
	BOOL ShowPopupMenu (CBCGPopupMenu* pMenuPopup); 
 
public: 
	virtual BOOL OnShowPopupMenu (CBCGPopupMenu* /*pMenuPopup*/) 
	{ 
		return TRUE; 
	} 
 
	virtual void OnClosePopupMenu (CBCGPopupMenu* pMenuPopup); 
	virtual BOOL OnDrawMenuImage (	CDC* /*pDC*/,  
									const CBCGToolbarMenuButton* /*pMenuButton*/,  
									const CRect& /*rectImage*/) 
	{ 
		return FALSE; 
	} 
 
	virtual BOOL OnMenuButtonToolHitTest (CBCGToolbarButton* /*pButton*/, TOOLINFO* /*pTI*/) 
	{ 
		return FALSE; 
	} 
 
// Implementation 
protected: 
	virtual ~CBCGMDIFrameWnd(); 
 
	// Generated message map functions 
	//{{AFX_MSG(CBCGMDIFrameWnd) 
	afx_msg LRESULT OnMenuChar(UINT nChar, UINT nFlags, CMenu* pMenu); 
	afx_msg void OnWindowPosChanged(WINDOWPOS FAR* lpwndpos); 
	afx_msg void OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized); 
	afx_msg void OnClose(); 
	//}}AFX_MSG 
	afx_msg LRESULT OnToolbarCreateNew(WPARAM,LPARAM); 
	afx_msg LRESULT OnToolbarDelete(WPARAM,LPARAM); 
	afx_msg void OnContextHelp (); 
	DECLARE_MESSAGE_MAP() 
}; 
 
///////////////////////////////////////////////////////////////////////////// 
 
//{{AFX_INSERT_LOCATION}} 
// Microsoft Developer Studio will insert additional declarations immediately before the previous line. 
 
#endif // !defined(AFX_BCGMDIFRAMEWND_H__08B9EC04_DCE3_11D1_A64F_00A0C93A70EC__INCLUDED_)