Files
FC1/Editor/XT/Include/XTCustomizeSheet.h
romkazvo 34d6c5d489 123
2023-08-07 19:29:24 +08:00

107 lines
3.9 KiB
C++

// XTCustomizeSheet.h interface for the CXTCustomizeSheet class.
//
// This file is a part of the Xtreme Toolkit for MFC.
// ©1998-2003 Codejock Software, All Rights Reserved.
//
// This source code can only be used under the terms and conditions
// outlined in the accompanying license agreement.
//
// support@codejock.com
// http://www.codejock.com
//
//////////////////////////////////////////////////////////////////////
#if !defined(__XTCUSTOMIZESHEET_H__)
#define __XTCUSTOMIZESHEET_H__
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//////////////////////////////////////////////////////////////////////
// Summary: CXTCustomizeSheet is a multiple inheritance class derived from CXTDialogState
// and CXTResizePropertySheet. It is a property sheet that is displayed during
// toolbar customization.
class _XT_EXT_CLASS CXTCustomizeSheet : CXTDialogState, public CXTResizePropertySheet
{
DECLARE_DYNAMIC(CXTCustomizeSheet)
CMap<HWND, HWND, bool, bool> m_map; // A map to store active custom bars that get mouse input.
public:
// BULLETED LIST:
// Input: pFrameWnd - Pointer to the frame window on which to execute customizations.
// dwCustStyle - Specifies which pages to include when the customize dialog is
// displayed. It can be one or more of the following:
// [ul]
// [li]<b>CUST_XT_TOOLBARS</b> Displays the Toolbars tab in the toolbar customize property sheet.[/li]
// [li]<b>CUST_XT_COMMANDS</b> Displays the Commands tab in the toolbar customize property sheet.[/li]
// [li]<b>CUST_XT_KEYBOARD</b> Displays the Keyboard tab in the toolbar customize property sheet.[/li]
// [li]<b>CUST_XT_TOOLS</b> Displays the Tools tab in the toolbar customize property sheet.[/li]
// [li]<b>CUST_XT_OPTIONS</b> Displays the Options tab in the toolbar customize property sheet.[/li]
// [li]<b>CUST_XT_DEFAULT</b> Same as CUST_XT_TOOLBARS|CUST_XT_COMMANDS|CUST_XT_KEYBOARD|CUST_XT_OPTIONS.[/li]
// If no flags are defined the constructor will ASSERT.
// Summary: Constructs a CXTCustomizeSheet object.
CXTCustomizeSheet(CFrameWnd* pFrameWnd,DWORD dwCustStyle);
// Summary: Destroys a CXTCustomizeSheet object, handles cleanup and de-allocation.
virtual ~CXTCustomizeSheet();
bool m_bAppActive; // true if the application is currently active, or false otherwise.
CRect m_rcPage; // Size for each page displayed.
CXTCustTools* m_pPage4; // Fourth property page.
CXTCustOptions* m_pPage5; // Fifth property page.
CXTCustToolBarPage* m_pPage1; // First property page.
CXTCustomizeContext m_context; // Current context.
CXTCustCommandsPage* m_pPage2; // Second property page.
CXTCustAccelerators* m_pPage3; // Third property page.
// Input: bMode - true to enable toolbar customization.
// Summary: This member function sets the customization mode on or off in all applicable
// control bars.
void SetCustMode(bool bMode);
// Ignore:
//{{AFX_VIRTUAL(CXTCustomizeSheet)
public:
virtual BOOL OnInitDialog();
virtual INT_PTR DoModal();
//}}AFX_VIRTUAL
protected:
// Ignore:
//{{AFX_MSG(CXTCustomizeSheet)
afx_msg void OnDestroy();
afx_msg BOOL OnNcActivate(BOOL bActive);
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnCloseBtn();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
CFrameWnd* m_pWndParent;
bool FilterMouse(LPARAM lParam);
bool FilterKey(LPARAM lParam);
void StoreInfo(CXTCustomControlBarInfo* pInfo);
void OnBarDestroyed(CControlBar* pBar);
friend class CXTCustomizeContext;
friend class CXTCustToolBarPage;
friend class CXTCustCommandsPage;
friend class CXTCustAccelerators;
friend class CXTCustTools;
friend class CXTCustOptions;
};
//////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // #if !defined(__XTCUSTOMIZESHEET_H__)