treectex.h

Go to the documentation of this file.
00001 /**
00002  * \file mgui/treectex.h
00003  * \brief Multiple selection tree control for MFC
00004  *
00005  * \if NODOC
00006  * $Log: treectex.h_v $
00007  * Revision 1.4  2004/04/30 14:05:12  mju
00008  * Include stdafx if not already.
00009  *
00010  * Revision 1.3  2003/10/03 19:58:19  linux32build!build
00011  * Doxygen
00012  *
00013  * Revision 1.2  2003/09/15 13:49:32  fileserver!dwilliss
00014  * Doxygen
00015  *
00016  * \endif
00017  */
00018 
00019 #ifndef INC_MGUI_TREECTEX_H
00020 #define INC_MGUI_TREECTEX_H
00021 
00022 #if !defined(INC_MI32_STDAFX_H) && defined(WIN32_MFC)
00023 #include <mi32/stdafx.h>
00024 #endif
00025 
00026 #ifndef GENERATING_DOXYGEN_OUTPUT
00027 ///////////////////////////////////////////////////////////////////////////////!
00028 //! 
00029 //! CTreeCtrlEx - Multiple selection tree control for MFC
00030 //! 
00031 //! Bendik Engebretsen (c) 1997-1999
00032 //! bendik@techsoft.no
00033 //! http://www.techsoft.no/bendik/
00034 //!
00035 //!
00036 
00037 #if !defined(__TREECTRLEX_H) && defined(WIN32_MFC)
00038 #define __TREECTRLEX_H
00039 
00040 /////////////////////////////////////////////////////////////////////////////!
00041 //! CTreeCtrlEx window
00042 
00043 class CTreeCtrlEx : public CTreeCtrl {
00044 
00045    private:
00046       #ifndef GENERATING_DOXYGEN_OUTPUT
00047       DECLARE_DYNAMIC(CTreeCtrlEx)
00048       #endif // GENERATING_DOXYGEN_OUTPUT
00049 
00050    public:
00051 
00052       //! Constructor.
00053       CTreeCtrlEx (
00054          ) : m_bSelectPending(FALSE), m_hClickedItem(NULL), m_hFirstSelectedItem(NULL), m_bSelectionComplete(TRUE) {}
00055 
00056       //! Destructor.
00057       virtual ~CTreeCtrlEx (
00058          ) {}
00059 
00060       void ClearSelection (
00061          BOOL bMultiOnly = FALSE
00062          );
00063 
00064       BOOL Create (
00065          DWORD dwStyle,
00066          DWORD dwExStyle,
00067          const RECT& rect,
00068          CWnd* pParentWnd,
00069          UINT nID
00070          );
00071 
00072       //! Get number of selected items.
00073       UINT GetSelectedCount (
00074          ) const;
00075 
00076       HTREEITEM GetFirstSelectedItem (
00077          );
00078 
00079       HTREEITEM GetNextSelectedItem (
00080          HTREEITEM hItem
00081          );
00082 
00083       HTREEITEM GetPrevSelectedItem (
00084          HTREEITEM hItem
00085          );
00086 
00087       HTREEITEM ItemFromData (
00088          DWORD dwData,
00089          HTREEITEM hStartAtItem = NULL
00090          ) const;
00091 
00092       BOOL SelectItemEx (
00093          HTREEITEM hItem,
00094          BOOL bSelect = TRUE
00095          );
00096 
00097       //! Select range of items.
00098       BOOL SelectItems (
00099          HTREEITEM hFromItem,
00100          HTREEITEM hToItem
00101          );
00102 
00103       void SetItemPosition (
00104          HTREEITEM hItem,                    //!< Item to change position of
00105          HTREEITEM hInsertAfter              //!< Item to insert after or TVI_FIRST or TVI_LAST, must have same parent as 'hItem'
00106          );
00107 
00108    protected:
00109 
00110       void SelectMultiple( HTREEITEM hClickedItem, UINT nFlags, CPoint point );
00111 
00112       //!{{AFX_MSG(CTreeCtrlEx)
00113       afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
00114       afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
00115       afx_msg void OnMouseMove(UINT nFlags, CPoint point);
00116       afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
00117       afx_msg BOOL OnItemexpanding(NMHDR* pNMHDR, LRESULT* pResult);
00118       afx_msg BOOL OnSetfocus(NMHDR* pNMHDR, LRESULT* pResult);
00119       afx_msg BOOL OnKillfocus(NMHDR* pNMHDR, LRESULT* pResult);
00120       afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
00121       afx_msg BOOL OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult);
00122       //!}}AFX_MSG
00123       DECLARE_MESSAGE_MAP()
00124 
00125    private:
00126       #ifndef GENERATING_DOXYGEN_OUTPUT
00127       BOOL     m_bSelectPending;
00128       CPoint      m_ptClick;
00129       HTREEITEM   m_hClickedItem;
00130       HTREEITEM   m_hFirstSelectedItem;
00131       BOOL     m_bSelectionComplete;
00132       #endif // GENERATING_DOXYGEN_OUTPUT
00133 
00134    };
00135 
00136 
00137 HTREEITEM GetTreeItemFromData(CTreeCtrl& treeCtrl, DWORD dwData, HTREEITEM hStartAtItem=NULL);
00138 
00139 #endif
00140 #endif // GENERATING_DOXYGEN_OUTPUT
00141 
00142 #endif  // INC_MGUI_TREECTEX_H

Generated on Tue Dec 14 13:18:18 2004 for TNTsdk by  doxygen 1.3.8-20040913