www.pudn.com > ÍøÂç¶Ë¿Ú¼àÊÓ.rar > BCGPContextMenuManager.h


//******************************************************************************* 
// COPYRIGHT NOTES 
// --------------- 
// This is a part of the BCGControlBar Library 
// Copyright (C) 1998-2000 BCGSoft Ltd. 
// All rights reserved. 
// 
// This source code can be used, distributed or modified 
// only under terms and conditions  
// of the accompanying license agreement. 
//******************************************************************************* 
 
// BCGContextMenuManager.h: interface for the CBCGPContextMenuManager class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_BCGPCONTEXTMENUMANAGER_H__64F13A54_E5A9_11D1_A08F_00A0C9B05590__INCLUDED_) 
#define AFX_BCGPCONTEXTMENUMANAGER_H__64F13A54_E5A9_11D1_A08F_00A0C9B05590__INCLUDED_ 
 
#if _MSC_VER >= 1000 
#pragma once 
#endif // _MSC_VER >= 1000 
 
#ifndef __AFXTEMPL_H__ 
	#include "afxtempl.h" 
#endif 
 
#include "BCGCBPro.h" 
 
class CBCGPPopupMenu; 
 
class BCGCBPRODLLEXPORT CBCGPContextMenuManager : public CObject 
{ 
	friend class CBCGPPopupMenuBar; 
 
public: 
	CBCGPContextMenuManager(); 
	virtual ~CBCGPContextMenuManager(); 
 
// Opreations: 
public: 
	BOOL AddMenu (UINT uiMenuNameResId, UINT uiMenuResId); 
	BOOL AddMenu (LPCTSTR lpszName, UINT uiMenuResId); 
 
	BOOL ShowPopupMenu (UINT uiMenuResId, int x, int y, CWnd* pWndOwner,  
		BOOL bOwnMessage = FALSE, BOOL bRightAlign = FALSE); 
	CBCGPPopupMenu* ShowPopupMenu (HMENU hmenuPopup,  
								int x, int y,  
								CWnd* pWndOwner, BOOL bOwnMessage = FALSE, 
								BOOL bAutoDestroy = TRUE, BOOL bRightAlign = FALSE); 
	UINT TrackPopupMenu (HMENU hmenuPopup, int x, int y, CWnd* pWndOwner, BOOL bRightAlign = FALSE); 
 
	BOOL LoadState (LPCTSTR lpszProfileName = NULL); 
	BOOL SaveState (LPCTSTR lpszProfileName = NULL); 
 
// Customization operations: 
	void GetMenuNames (CStringList& listOfNames) const; 
	HMENU GetMenuByName (LPCTSTR lpszName, UINT* puiOrigResID = NULL) const; 
	HMENU GetMenuById (UINT nMenuResId) const; 
 
	BOOL ResetState (); 
 
// Attributes: 
protected: 
	CMap			m_Menus; 
	CMap 	m_MenuNames; 
	UINT									m_nLastCommandID; 
	BOOL									m_bTrackMode; 
}; 
 
extern CBCGPContextMenuManager*	g_pContextMenuManager; 
 
#endif // !defined(AFX_BCGPCONTEXTMENUMANAGER_H__64F13A54_E5A9_11D1_A08F_00A0C9B05590__INCLUDED_)