00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef INC_MGUI_TREECTEX_H
00017 #define INC_MGUI_TREECTEX_H
00018
00019 #ifndef GENERATING_DOXYGEN_OUTPUT
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #if !defined(__TREECTRLEX_H) && defined(WIN32_MFC)
00031 #define __TREECTRLEX_H
00032
00033
00034
00035
00036 class CTreeCtrlEx : public CTreeCtrl {
00037
00038 private:
00039 #ifndef GENERATING_DOXYGEN_OUTPUT
00040 DECLARE_DYNAMIC(CTreeCtrlEx)
00041 #endif
00042
00043 public:
00044
00045
00046 CTreeCtrlEx (
00047 ) : m_bSelectPending(FALSE), m_hClickedItem(NULL), m_hFirstSelectedItem(NULL), m_bSelectionComplete(TRUE) {}
00048
00049
00050 virtual ~CTreeCtrlEx (
00051 ) {}
00052
00053 void ClearSelection (
00054 BOOL bMultiOnly = FALSE
00055 );
00056
00057 BOOL Create (
00058 DWORD dwStyle,
00059 DWORD dwExStyle,
00060 const RECT& rect,
00061 CWnd* pParentWnd,
00062 UINT nID
00063 );
00064
00065
00066 UINT GetSelectedCount (
00067 ) const;
00068
00069 HTREEITEM GetFirstSelectedItem (
00070 );
00071
00072 HTREEITEM GetNextSelectedItem (
00073 HTREEITEM hItem
00074 );
00075
00076 HTREEITEM GetPrevSelectedItem (
00077 HTREEITEM hItem
00078 );
00079
00080 HTREEITEM ItemFromData (
00081 DWORD dwData,
00082 HTREEITEM hStartAtItem = NULL
00083 ) const;
00084
00085 BOOL SelectItemEx (
00086 HTREEITEM hItem,
00087 BOOL bSelect = TRUE
00088 );
00089
00090
00091 BOOL SelectItems (
00092 HTREEITEM hFromItem,
00093 HTREEITEM hToItem
00094 );
00095
00096 void SetItemPosition (
00097 HTREEITEM hItem,
00098 HTREEITEM hInsertAfter
00099 );
00100
00101 protected:
00102
00103 void SelectMultiple( HTREEITEM hClickedItem, UINT nFlags, CPoint point );
00104
00105
00106 afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
00107 afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
00108 afx_msg void OnMouseMove(UINT nFlags, CPoint point);
00109 afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
00110 afx_msg BOOL OnItemexpanding(NMHDR* pNMHDR, LRESULT* pResult);
00111 afx_msg BOOL OnSetfocus(NMHDR* pNMHDR, LRESULT* pResult);
00112 afx_msg BOOL OnKillfocus(NMHDR* pNMHDR, LRESULT* pResult);
00113 afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
00114 afx_msg BOOL OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult);
00115
00116 DECLARE_MESSAGE_MAP()
00117
00118 private:
00119 #ifndef GENERATING_DOXYGEN_OUTPUT
00120 BOOL m_bSelectPending;
00121 CPoint m_ptClick;
00122 HTREEITEM m_hClickedItem;
00123 HTREEITEM m_hFirstSelectedItem;
00124 BOOL m_bSelectionComplete;
00125 #endif // GENERATING_DOXYGEN_OUTPUT
00126
00127 };
00128
00129
00130 HTREEITEM GetTreeItemFromData(CTreeCtrl& treeCtrl, DWORD dwData, HTREEITEM hStartAtItem=NULL);
00131
00132 #endif
00133 #endif // GENERATING_DOXYGEN_OUTPUT
00134
00135 #endif // INC_MGUI_TREECTEX_H