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

📄 bcgframeimpl.h

📁 一个完整的编辑器的代码(很值得参考
💻 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.
// 
// Stas Levin <stas@iet.co.il>
//*******************************************************************************

// 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);
};

#endif // !defined(AFX_BCGFRAMEIMPL_H__829B77B5_FE0E_11D1_8BCB_00A0C9B05590__INCLUDED_)

⌨️ 快捷键说明

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