📄 bcgframewnd.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>
//*******************************************************************************
#if !defined(AFX_BCGFRAMEWND_H__829B77B4_FE0E_11D1_8BCB_00A0C9B05590__INCLUDED_)
#define AFX_BCGFRAMEWND_H__829B77B4_FE0E_11D1_8BCB_00A0C9B05590__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
// BCGFrameWnd.h : header file
//
#include "BCGFrameImpl.h"
#include "bcgcontrolbar.h"
class CBCGMenuBar;
class CBCGToolbarMenuButton;
class CBCGToolbarButton;
/////////////////////////////////////////////////////////////////////////////
// CBCGFrameWnd frame
class BCGCONTROLBARDLLEXPORT CBCGFrameWnd : public CFrameWnd
{
friend class CBCGMenuBar;
friend class CBCGToolbarsPage;
friend class CBCGFrameImpl;
friend class CBCGWorkspace;
friend class CBCGPopupMenu;
DECLARE_DYNCREATE(CBCGFrameWnd)
protected:
CBCGFrameWnd(); // 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;
HMENU m_hmenuWindow;
CBCGFrameImpl m_Impl;
BOOL m_bContextHelp;
// 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:
// 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(CBCGFrameWnd)
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 OnCommand(WPARAM wParam, LPARAM lParam);
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
//}}AFX_VIRTUAL
// Implementation
protected:
virtual ~CBCGFrameWnd();
BOOL OnSetMenu (HMENU hmenu);
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;
}
// Generated message map functions
//{{AFX_MSG(CBCGFrameWnd)
afx_msg LRESULT OnMenuChar(UINT nChar, UINT nFlags, CMenu* pMenu);
afx_msg void OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized);
afx_msg void OnClose();
//}}AFX_MSG
afx_msg LRESULT OnSetMenu (WPARAM wp, LPARAM);
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_BCGFRAMEWND_H__829B77B4_FE0E_11D1_8BCB_00A0C9B05590__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -