⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bcgpbarcontainermanager.h

📁 远程网络监视程序的源码
💻 H
字号:
// BCGBarContainerManager.h: interface for the CBCGPBarContainerManager class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_BCGPBARCONTAINERMANAGER_H__BBF050E7_D49D_4AD4_AE08_CD8E4AA69E52__INCLUDED_)
#define AFX_BCGPBARCONTAINERMANAGER_H__BBF050E7_D49D_4AD4_AE08_CD8E4AA69E52__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "BCGCBPro.h"
#include "BCGPSlider.h"

class CBCGPControlBar;
class CBCGPBarContainer;

class BCGCBPRODLLEXPORT CBCGPBarContainerManager : public CObject  
{
	friend class CBCGPBarContainer;
	friend class CBCGPMultiMiniFrameWnd;
	friend class CBCGPDockingControlBar;
	friend class CBCGPRecentContainerInfo;
public:
	CBCGPBarContainerManager();
	virtual ~CBCGPBarContainerManager();

	virtual BOOL Create (CWnd* pParentWnd, CBCGPSlider* pDefaultSlider, 
						 CRuntimeClass* pContainerRTC = NULL);

	virtual BOOL AddContainerManager (CBCGPBarContainerManager& srcManager, BOOL bOuterEdge);
	virtual BOOL AddContainerManager (CBCGPDockingControlBar* pTargetControlBar, 
										DWORD dwAlignment, 
										CBCGPBarContainerManager& srcManager,
										BOOL bCopy);
	virtual BOOL AddContainerManagerToTabWnd (CBCGPDockingControlBar* pTargetControlBar, 
											  CBCGPBarContainerManager& srcManager);
	virtual void AddControlBar (CBCGPDockingControlBar* pControlBarToAdd);
	virtual CBCGPDockingControlBar* AddControlBarToRecentContainer (CBCGPDockingControlBar* pBarToAdd, 
												 CBCGPBarContainer* pRecentContainer);
	virtual BOOL InsertControlBar (CBCGPDockingControlBar* pControlBarToInsert,
								   CBCGPDockingControlBar* pTargetControlBar,
								   DWORD dwAlignment,
								   LPCRECT lpRect = NULL,
								   BCGP_DOCK_METHOD dockMethod = DM_UNKNOWN);

	virtual int  OnSliderMove (CBCGPSlider* pSlider, UINT uFlags, int nOffset, HDWP& hdwp);
	virtual void GetWindowRect (CRect& rect) const;
	virtual void GetAvailableSpace (CRect& rect) const;
	virtual BOOL RemoveControlBarFromContainer (CBCGPDockingControlBar* pControlBar);
	virtual void ResizeBarContainers (UINT nSide, BOOL bExpand, int nOffset, HDWP& hdwp);
	virtual void ResizeBarContainers (CRect rect, HDWP& hdwp);
	virtual BOOL ReplaceControlBar (CBCGPDockingControlBar* pBarOld, CBCGPDockingControlBar* pBarNew);
	virtual void GetMinMaxOffset (CBCGPSlider* pSlider, int& nMinOffset, int& nMaxOffset, 
								  int& nStep);

	virtual BOOL OnShowControlBar (CBCGPDockingControlBar* pBar, BOOL bShow);
	virtual BOOL IsRootContainerVisible () const;

	virtual void GetMinSize (CSize& size);
	virtual int  GetVisibleBarCount () const;
	virtual void EnableGrippers (BOOL bEnable);
	virtual void HideAll ();

	virtual BOOL DoesContainFloatingBar ();
	virtual BOOL DoesAllowDynInsertBefore () const;

	virtual CBCGPDockingControlBar* ControlBarFromPoint (CPoint point, int nSensitivity, 
														 BOOL bExactBar, BOOL& bIsTabArea,
														 BOOL& bCaption);

	virtual BOOL CheckForMiniFrameAndCaption (CPoint point, CBCGPDockingControlBar** ppTargetControlBar);

	virtual CBCGPBaseControlBar* GetFirstBar () const;
	virtual CWnd* GetDockSite () {return m_pDockSite;}
	virtual CWnd* GetFirstVisibleBar () const;

	virtual BOOL CanBeAttached () const;

	CBCGPSlider* GetDefaultSlider () const {return m_pDefaultSlider;}


	//virtual void Move (int nOffset);

	void	AddControlBarToList (CBCGPDockingControlBar* pControlBarToAdd); 
	BOOL	IsEmpty () const;
	int		GetTotalRefCount () const;
	int		GetBarCount () const {return m_lstControlBars.GetCount ();}
	int		GetNodeCount () const;

	virtual void SetResizeMode (BOOL bResize);
	virtual void RemoveSlider (CBCGPSlider* pSlider);

	virtual void StoreRecentDockInfo (CBCGPDockingControlBar* pBar);

	BOOL IsAutoHideMode () const
	{
		return (m_pDefaultSlider != NULL && m_pDefaultSlider->IsAutoHideMode ());
	}

	void SetDefaultSliderForControlBars (CBCGPSlider* pSlider);
	void Serialize (CArchive& ar);
	CBCGPDockingControlBar* FindTabbedBar (UINT nID);
	virtual CBCGPBarContainer* FindContainer (CBCGPDockingControlBar* pBar, BOOL& bLeftBar);

	void AddControlBarsToList (CObList* plstControlBars, CObList* plstSliders);
	void RemoveAllControlBarsAndSliders ();

	void CalcRects (CRect& rectOriginal, CRect& rectInserted, CRect& rectSlider,
				DWORD& dwSliderStyle, DWORD dwAlignment, CSize sizeMinOriginal,
				CSize sizeMinInserted);
	void NotifySlider ();

	void RemoveNonValidBars ();
	BOOL CheckAndRemoveNonValidBar (CWnd* pWnd);

protected:
	CBCGPSlider* CreateSlider (CRect rectSlider, DWORD dwSliderStyle, int nSliderID = -1);
	UINT FindBar (CPoint pt, CBCGPControlBar** ppBar, POSITION& posRet);
	UINT FindBar (CRect rect, CBCGPControlBar** ppBar, POSITION& posRet);
	BOOL AddControlBarAndSlider (CBCGPDockingControlBar* pBarOriginal, CBCGPDockingControlBar* pBarToInsert, 
								 POSITION posNearestBar, DWORD dwAlignment);
	BOOL AddControlBarAndContainer (CBCGPDockingControlBar* pBarOriginal, 
									  CBCGPBarContainer* pContainerToInsert, 
									  DWORD dwAlignment);
protected:
	CObList				m_lstControlBars;
	CObList				m_lstSliders;
	CBCGPBarContainer*	m_pRootContainer;
	CRuntimeClass*		m_pContainerRTC;
	CBCGPSlider*		m_pDefaultSlider;

	BOOL				m_bDestroyRootContainer;
	
	CWnd*				m_pDockSite;
};

#endif // !defined(AFX_BCGPBARCONTAINERMANAGER_H__BBF050E7_D49D_4AD4_AE08_CD8E4AA69E52__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -