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

对话框与窗口

开发平台:

Visual C++

  1. // XTShellTreeCtrl.h : header file
  2. //
  3. // This file is a part of the XTREME CONTROLS 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(__XTSHELLTREECTRL_H__)
  22. #define __XTSHELLTREECTRL_H__
  23. //}}AFX_CODEJOCK_PRIVATE
  24. #if _MSC_VER > 1000
  25. #pragma once
  26. #endif // _MSC_VER > 1000
  27. DECLATE_SHELLTREE_BASE(CXTShellTreeViewBase, CTreeView, CXTShellTreeBase)
  28. DECLATE_SHELLTREE_BASE(CXTShellTreeCtrlBase, CTreeCtrl, CXTShellTreeBase)
  29. //===========================================================================
  30. // Summary:
  31. //     CXTShellTreeView is a multiple inheritance class derived from CXTTreeView
  32. //     and CXTShellPidl. It is used to create a CXTShellTreeView class object.
  33. //===========================================================================
  34. class _XTP_EXT_CLASS CXTShellTreeView : public CXTShellTreeViewBase
  35. {
  36. DECLARE_DYNCREATE(CXTShellTreeView)
  37. public:
  38. //-----------------------------------------------------------------------
  39. // Summary:
  40. //     Constructs a CXTShellTreeView object
  41. //-----------------------------------------------------------------------
  42. CXTShellTreeView();
  43. //-----------------------------------------------------------------------
  44. // Summary:
  45. //     Destroys a CXTShellTreeView object, handles cleanup and deallocation
  46. //-----------------------------------------------------------------------
  47. virtual ~CXTShellTreeView();
  48. protected:
  49. //-----------------------------------------------------------------------
  50. // Summary:
  51. //     Called after a user makes a new tree selection.
  52. // Remarks:
  53. //     This member function is called whenever a user makes a selection
  54. //     within the tree control to synchronize any shell list or shell
  55. //     combo boxes associated with the tree. You can override this member
  56. //     to provide additional functionality.
  57. // Parameters:
  58. //     hItem         - Handle to the newly selected tree item.
  59. //     strFolderPath - NULL terminated string representing the fully
  60. //                     qualified path to the selected tree item.
  61. //-----------------------------------------------------------------------
  62. virtual void SelectionChanged(HTREEITEM hItem, CString strFolderPath);
  63. //{{AFX_CODEJOCK_PRIVATE
  64. DECLARE_MESSAGE_MAP()
  65. //{{AFX_VIRTUAL(CXTShellTreeView)
  66. public:
  67. virtual void OnInitialUpdate();
  68. protected:
  69. virtual void OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint);
  70. //}}AFX_VIRTUAL
  71. //}}AFX_CODEJOCK_PRIVATE
  72. protected:
  73. };
  74. //===========================================================================
  75. // Summary:
  76. //     CXTShellTreeCtrl is a multiple inheritance class derived from CXTTreeCtrl
  77. //     and CXTShellPidl. CXTShellTreeCtrl is used to create a tree control
  78. //     that displays an explorer style tree, and can be associated with a combo box
  79. //     and list control.
  80. //===========================================================================
  81. class _XTP_EXT_CLASS CXTShellTreeCtrl : public CXTShellTreeCtrlBase
  82. {
  83. DECLARE_DYNAMIC(CXTShellTreeCtrl)
  84. public:
  85. //-----------------------------------------------------------------------
  86. // Summary:
  87. //     Constructs a CXTShellTreeCtrl object
  88. //-----------------------------------------------------------------------
  89. CXTShellTreeCtrl();
  90. //-----------------------------------------------------------------------
  91. // Summary:
  92. //     Destroys a CXTShellTreeCtrl object, handles cleanup and deallocation
  93. //-----------------------------------------------------------------------
  94. virtual ~CXTShellTreeCtrl();
  95. public:
  96. //-----------------------------------------------------------------------
  97. // Summary:
  98. //     This member function is called by the CInitialize class to
  99. //     perform initialization when the window is created or sub-classed.
  100. // Returns:
  101. //     TRUE if the window was successfully initialized, otherwise FALSE.
  102. //-----------------------------------------------------------------------
  103. virtual bool Init();
  104. //-----------------------------------------------------------------------
  105. // Summary:
  106. //     Call this member function to enable or disable auto-initialization
  107. //     of the shell tree control.
  108. // Parameters:
  109. //     bEnable - TRUE if the tree initializes upon creation.
  110. //-----------------------------------------------------------------------
  111. void EnableAutoInit(BOOL bEnable);
  112. //-----------------------------------------------------------------------
  113. // Summary:
  114. //     Call this member function to associate the list control with the tree.
  115. // Parameters:
  116. //     pWnd - Points to the list control that is associated with the tree.
  117. //-----------------------------------------------------------------------
  118. virtual void AssociateList(CWnd* pWnd);
  119. //-----------------------------------------------------------------------
  120. // Summary:
  121. //     This member function is used to associate a CComboBox object with
  122. //     the control. Whenever the path changes, the combo is updated.
  123. // Parameters:
  124. //     pWnd - Points to the combo box that is associated with the tree.
  125. //-----------------------------------------------------------------------
  126. virtual void AssociateCombo(CWnd* pWnd);
  127. protected:
  128. //-----------------------------------------------------------------------
  129. // Summary:
  130. //     Called after a user makes a new tree selection.
  131. // Remarks:
  132. //     This member function is called whenever a user makes a selection
  133. //     within the tree control to synchronize any shell list or shell
  134. //     combo boxes associated with the tree. You can override this member
  135. //     to provide additional functionality.
  136. // Parameters:
  137. //     hItem         - Handle to the newly selected tree item.
  138. //     strFolderPath - NULL terminated string representing the fully
  139. //                     qualified path to the selected tree item.
  140. //-----------------------------------------------------------------------
  141. virtual void SelectionChanged(HTREEITEM hItem, CString strFolderPath);
  142. protected:
  143. //{{AFX_CODEJOCK_PRIVATE
  144. DECLARE_MESSAGE_MAP()
  145. //{{AFX_VIRTUAL(CXTShellTreeCtrl)
  146. //}}AFX_VIRTUAL
  147. //{{AFX_MSG(CXTShellTreeCtrl)
  148. afx_msg LRESULT OnUpdateShell(WPARAM wParam, LPARAM lParam);
  149. //}}AFX_MSG
  150. //}}AFX_CODEJOCK_PRIVATE
  151. protected:
  152. BOOL  m_bAutoInit; // TRUE if the tree control is to initialize when created.
  153. CWnd* m_pListCtrl; // Window that receives the update notification, usually a CXTShellListCtrl.
  154. };
  155. //{{AFX_CODEJOCK_PRIVATE
  156. #define CXTShellTree    CXTShellTreeCtrl
  157. //}}AFX_CODEJOCK_PRIVATE
  158. //////////////////////////////////////////////////////////////////////
  159. AFX_INLINE void CXTShellTreeCtrl::EnableAutoInit(BOOL bEnable) {
  160. m_bAutoInit = bEnable;
  161. }
  162. #endif // !defined(__XTSHELLTREECTRL_H__)