mgui/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.3  2003/10/03 19:58:19  linux32build!build
00008  * Doxygen
00009  *
00010  * Revision 1.2  2003/09/15 13:49:32  fileserver!dwilliss
00011  * Doxygen
00012  *
00013  * \endif
00014  */
00015 
00016 #ifndef INC_MGUI_TREECTEX_H
00017 #define INC_MGUI_TREECTEX_H
00018 
00019 #ifndef GENERATING_DOXYGEN_OUTPUT
00020 ///////////////////////////////////////////////////////////////////////////////!
00021 //! 
00022 //! CTreeCtrlEx - Multiple selection tree control for MFC
00023 //! 
00024 //! Bendik Engebretsen (c) 1997-1999
00025 //! bendik@techsoft.no
00026 //! http://www.techsoft.no/bendik/
00027 //!
00028 //!
00029 
00030 #if !defined(__TREECTRLEX_H) && defined(WIN32_MFC)
00031 #define __TREECTRLEX_H
00032 
00033 /////////////////////////////////////////////////////////////////////////////!
00034 //! CTreeCtrlEx window
00035 
00036 class CTreeCtrlEx : public CTreeCtrl {
00037 
00038    private:
00039       #ifndef GENERATING_DOXYGEN_OUTPUT
00040       DECLARE_DYNAMIC(CTreeCtrlEx)
00041       #endif // GENERATING_DOXYGEN_OUTPUT
00042 
00043    public:
00044 
00045       //! Constructor.
00046       CTreeCtrlEx (
00047          ) : m_bSelectPending(FALSE), m_hClickedItem(NULL), m_hFirstSelectedItem(NULL), m_bSelectionComplete(TRUE) {}
00048 
00049       //! Destructor.
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       //! Get number of selected items.
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       //! Select range of items.
00091       BOOL SelectItems (
00092          HTREEITEM hFromItem,
00093          HTREEITEM hToItem
00094          );
00095 
00096       void SetItemPosition (
00097          HTREEITEM hItem,                    //!< Item to change position of
00098          HTREEITEM hInsertAfter              //!< Item to insert after or TVI_FIRST or TVI_LAST, must have same parent as 'hItem'
00099          );
00100 
00101    protected:
00102 
00103       void SelectMultiple( HTREEITEM hClickedItem, UINT nFlags, CPoint point );
00104 
00105       //!{{AFX_MSG(CTreeCtrlEx)
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       //!}}AFX_MSG
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

Generated on Thu Aug 12 06:18:30 2004 for TNTsdk by doxygen 1.3.4-20031026