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

对话框与窗口

开发平台:

Visual C++

  1. // PaneIcons.h : header file
  2. //
  3. // This file is a part of the XTREME TOOLKIT PRO 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. #if !defined(AFX_PANEICONS_H__4A0FC97D_89AF_4870_8769_C6CDEB879851__INCLUDED_)
  21. #define AFX_PANEICONS_H__4A0FC97D_89AF_4870_8769_C6CDEB879851__INCLUDED_
  22. #if _MSC_VER > 1000
  23. #pragma once
  24. #endif // _MSC_VER > 1000
  25. #include "EmbeddedFrame.h"
  26. /////////////////////////////////////////////////////////////////////////////
  27. // CPaneIcons window
  28. class CPaneIcons;
  29. struct CControlIconsViewItem
  30. {
  31. CControlIconsViewItem(int y = 0, int x = 0, XTPImageState _imageState = xtpImageNormal, CXTPImageManagerIcon* _pIcon = NULL)
  32. {
  33. ptPosition.x = x;
  34. ptPosition.y = y;
  35. imageState = _imageState;
  36. pIcon = _pIcon;
  37. }
  38. CXTPImageManagerIconHandle& GetIcon()
  39. {
  40. ASSERT(pIcon);
  41. return pIcon->GetIcon(imageState);
  42. }
  43. void Draw(CDC* pDC, BOOL bSelected, int x, int y, CSize sz);
  44. POINT ptPosition;
  45. XTPImageState imageState;
  46. CXTPImageManagerIcon* pIcon;
  47. };
  48. class CControlIconsView : public CWnd
  49. {
  50. public:
  51. CControlIconsView();
  52. // Attributes
  53. CControlIconsViewItem* m_pSelected;
  54. CList<CControlIconsViewItem, CControlIconsViewItem&> m_lstItems;
  55. CPaneIcons* m_pPaneIcons;
  56. // Operations
  57. public:
  58. CControlIconsViewItem* HitTest(CPoint pt);
  59. void DeleteAllItems()
  60. {
  61. m_lstItems.RemoveAll();
  62. }
  63. void RefreshIcons(CXTPImageManagerIconSet* pIconSet);
  64. void Edit();
  65. int GetScrollOffset(int nBar);
  66. void UpdateScrollBars();
  67. // Overrides
  68. // ClassWizard generated virtual function overrides
  69. //{{AFX_VIRTUAL(CControlIconsView)
  70. public:
  71. LRESULT WindowProc(UINT message,WPARAM wParam,LPARAM lParam);
  72. protected:
  73. //}}AFX_VIRTUAL
  74. // Implementation
  75. public:
  76. virtual ~CControlIconsView();
  77. CXTPImageManagerIconSet* m_pIconSet;
  78. BOOL m_bScrollVisible[2];
  79. protected:
  80. // Generated message map functions
  81. protected:
  82. //{{AFX_MSG(CControlIconsView)
  83. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  84. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  85. afx_msg void OnPaint();
  86. afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
  87. afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
  88. afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
  89. afx_msg void OnSize(UINT nType, int cx, int cy);
  90. //}}AFX_MSG
  91. DECLARE_MESSAGE_MAP()
  92. };
  93. class CPaneIcons : public CPaneHolder
  94. {
  95. // Construction
  96. public:
  97. CPaneIcons();
  98. // Attributes
  99. public:
  100. CControlIconsView m_wndIconsView;
  101. CXTPToolBar m_wndToolBar;
  102. CComboBox m_wndCombo;
  103. CFont m_fntRegular;
  104. CEmbeddedFrame* m_pActiveFrame;
  105. CXTPImageManager* m_pImageManager;
  106. CResourceManager* m_pActiveResourceManager;
  107. CXTPImageManagerIconSet* m_pActiveIcons;
  108. CXTPControl* m_pLastControl;
  109. CImageList m_ilIcons;
  110. void ShowIcons(CXTPImageManager* pImageManager, int nActive);
  111. // Operations
  112. public:
  113. void RefreshIcons();
  114. void Refresh(BOOL bForce);
  115. void RemoveIcons(CXTPImageManagerIconSet* pIconSet, CXTPImageManagerIcon* pIconRemove);
  116. CXTPImageManager* GetImageManager();
  117. CString GetStringID(int nID);
  118. void SetModified();
  119. void RefreshAll();
  120. // Overrides
  121. // ClassWizard generated virtual function overrides
  122. //{{AFX_VIRTUAL(CPaneIcons)
  123. //}}AFX_VIRTUAL
  124. // Implementation
  125. public:
  126. virtual ~CPaneIcons();
  127. // Generated message map functions
  128. protected:
  129. //{{AFX_MSG(CPaneIcons)
  130. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  131. afx_msg void OnSize(UINT nType, int cx, int cy);
  132. afx_msg void OnPaneiconsClear();
  133. afx_msg void OnUpdatePaneiconsClear(CCmdUI* pCmdUI);
  134. afx_msg void OnPaneiconsNew();
  135. afx_msg void OnUpdatePaneiconsNew(CCmdUI* pCmdUI);
  136. afx_msg void OnPaneiconsEdit();
  137. afx_msg void OnUpdatePaneiconsEdit(CCmdUI* pCmdUI);
  138. afx_msg void OnUpdatePaneiconsImportAndExport(CCmdUI* pCmdUI);
  139. afx_msg void OnImportandexportExporttoxml();
  140. afx_msg void OnImportandexportImportfromxml();
  141. afx_msg void OnImportandexportExporttobitmap();
  142. afx_msg void OnImportandexportImportfrombitmap();
  143. afx_msg void OnUpdateXMLCommand(CCmdUI* pCmdUI);
  144. //}}AFX_MSG
  145. afx_msg void OnComboChanged();
  146. DECLARE_MESSAGE_MAP()
  147. };
  148. /////////////////////////////////////////////////////////////////////////////
  149. //{{AFX_INSERT_LOCATION}}
  150. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  151. #endif // !defined(AFX_PANEICONS_H__4A0FC97D_89AF_4870_8769_C6CDEB879851__INCLUDED_)