XTPRibbonCustomizeQuickAccessPage.h
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:6k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // XTPRibbonCustomizeQuickAccessPage.h: interface for the CXTPRibbonCustomizeQuickAccessPage class.
  2. //
  3. // This file is a part of the XTREME RIBBON MFC class library.
  4. // (c)1998-2008 Codejock Software, All Rights Reserved.
  5. //
  6. // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
  7. // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
  8. // CONSENT OF CODEJOCK SOFTWARE.
  9. //
  10. // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
  11. // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
  12. // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
  13. // SINGLE COMPUTER.
  14. //
  15. // CONTACT INFORMATION:
  16. // support@codejock.com
  17. // http://www.codejock.com
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. //{{AFX_CODEJOCK_PRIVATE
  21. #if !defined(__XTPRIBBONCUSTOMIZEQUICKACCESSPAGE_H__)
  22. #define __XTPRIBBONCUSTOMIZEQUICKACCESSPAGE_H__
  23. //}}AFX_CODEJOCK_PRIVATE
  24. #if _MSC_VER > 1000
  25. #pragma once
  26. #endif // _MSC_VER > 1000
  27. class CXTPCustomizeSheet;
  28. class CXTPCommandBars;
  29. class CXTPRibbonBar;
  30. #include "CommandBars/XTPCustomizeCommandsPage.h"
  31. //===========================================================================
  32. // Summary:
  33. //     CXTPRibbonCustomizeQuickAccessPage is a CPropertyPage derived class.
  34. //     It represents the Quick Access page of the Customize dialog.
  35. //===========================================================================
  36. class _XTP_EXT_CLASS CXTPRibbonCustomizeQuickAccessPage : public CPropertyPage
  37. {
  38. // Construction
  39. public:
  40. //-----------------------------------------------------------------------
  41. // Summary:
  42. //     Constructs a CXTPRibbonCustomizeQuickAccessPage object
  43. // Parameters:
  44. //     pSheet - Points to a CXTPCustomizeSheet object
  45. //-----------------------------------------------------------------------
  46. CXTPRibbonCustomizeQuickAccessPage(CXTPCustomizeSheet* pSheet);
  47. //-----------------------------------------------------------------------
  48. // Summary:
  49. //     Destroys a CXTPCustomizeCommandsPage object, handles cleanup
  50. //     and deallocation.
  51. //-----------------------------------------------------------------------
  52. ~CXTPRibbonCustomizeQuickAccessPage();
  53. public:
  54. //-----------------------------------------------------------------------
  55. // Summary:
  56. //     Retrieves Ribbon bar to customize
  57. // Returns:
  58. //     Pointer to commandbars' ribbon bar
  59. //-----------------------------------------------------------------------
  60. CXTPRibbonBar* GetRibbonBar();
  61. public:
  62. //-----------------------------------------------------------------------
  63. // Summary:
  64. //     Adds categories branch from menu resource.
  65. // Parameters:
  66. //     nIDResource   - Menu resource from where categories will be built.
  67. //     bListSubItems - TRUE to add sub menus to categories.
  68. // Returns:
  69. //     TRUE if successful; otherwise returns FALSE
  70. //-----------------------------------------------------------------------
  71. BOOL AddCategories(UINT nIDResource,  BOOL bListSubItems = FALSE);
  72. //-----------------------------------------------------------------------
  73. // Summary:
  74. //     Adds categories branch from Controls.
  75. // Parameters:
  76. //     pControls - Points to a CXTPControls object
  77. // Returns:
  78. //     TRUE if successful; otherwise returns FALSE
  79. //-----------------------------------------------------------------------
  80. BOOL AddCategories(CXTPControls* pControls);
  81. //-----------------------------------------------------------------------
  82. // Summary:
  83. //     Adds a new category from a CMenu object.
  84. // Parameters:
  85. //     strCategory   - Category to be added.
  86. //     pMenu         - Points to a CMenu object
  87. //     bListSubItems - TRUE to add sub menus to the category.
  88. // Returns:
  89. //     TRUE if successful; otherwise returns FALSE
  90. //-----------------------------------------------------------------------
  91. BOOL AddCategory(LPCTSTR strCategory, CMenu* pMenu, BOOL bListSubItems = FALSE);
  92. //-----------------------------------------------------------------------
  93. // Summary:
  94. //     This method adds a new empty category in the given index.
  95. // Parameters:
  96. //     strCategory - Category to be added.
  97. //     nIndex      - Index to insert.
  98. // Returns:
  99. //     A pointer to a CXTPControls object
  100. //-----------------------------------------------------------------------
  101. CXTPControls* InsertCategory(LPCTSTR strCategory, int nIndex = -1);
  102. //-----------------------------------------------------------------------
  103. // Summary:
  104. //     Retrieves the control list of the given category.
  105. // Parameters:
  106. //     strCategory - Category to retrieve.
  107. // Returns:
  108. //     A pointer to a CXTPControls object.
  109. //-----------------------------------------------------------------------
  110. CXTPControls* GetControls(LPCTSTR strCategory);
  111. protected:
  112. //-----------------------------------------------------------------------
  113. // Summary:
  114. //     Refills list of quick access controls
  115. //-----------------------------------------------------------------------
  116. void RefreshQuickAccessList();
  117. // Implementation
  118. protected:
  119. DECLARE_MESSAGE_MAP()
  120. //{{AFX_VIRTUAL(CXTPRibbonCustomizeQuickAccessPage)
  121. protected:
  122. virtual void DoDataExchange(CDataExchange* pDX);
  123. //}}AFX_VIRTUAL
  124. //{{AFX_MSG(CXTPRibbonCustomizeQuickAccessPage)
  125. afx_msg void OnCheckShowQuickAccessBelow();
  126. virtual BOOL OnInitDialog();
  127. afx_msg void OnCategoriesSelectionChanged();
  128. afx_msg void OnDblclkListQuickAccess();
  129. afx_msg void OnDblclkListCommands();
  130. afx_msg void OnButtonAdd();
  131. afx_msg void OnButtonRemove();
  132. afx_msg void OnButtonReset();
  133. afx_msg void OnCommandsSelectionChanged();
  134. afx_msg void OnQuickAccessSelectionChanged();
  135. //}}AFX_MSG
  136. private:
  137. XTP_COMMANDBARS_CATEGORYINFO* FindCategory(LPCTSTR strCategory) const;
  138. XTP_COMMANDBARS_CATEGORYINFO* GetCategoryInfo(int nIndex);
  139. public:
  140. CComboBox   m_lstCategories;            // Categories list
  141. CXTPCustomizeCommandsListBox    m_lstQuickAccess;   // Quick access list
  142. CXTPCustomizeCommandsListBox    m_lstCommands;      // Commands list
  143. BOOL    m_bShowQuickAccessBelow;                    // TRUE to show quick access below ribbon
  144. protected:
  145. CXTPCustomizeSheet* m_pSheet;           // Parent Sheet window
  146. CXTPCommandBars* m_pCommandBars;        // Parent CommandBars object
  147. CXTPCommandBarsCategoryArray m_arrCategories;   // Array of categories.
  148. };
  149. #endif // !defined(__XTPRIBBONCUSTOMIZEQUICKACCESSPAGE_H__)