79 lines
2.2 KiB
C++
79 lines
2.2 KiB
C++
///////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// CTreeCtrlEx - Multiple selection tree control (MFC 4.2)
|
|
//
|
|
// Bendik Engebretsen (c) 1997
|
|
// bendik@techsoft.no
|
|
// http://www.techsoft.no/bendik/
|
|
//
|
|
//
|
|
|
|
#ifndef __TREECTRLEX_H
|
|
#define __TREECTRLEX_H
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CTreeCtrlEx window
|
|
|
|
class CTreeCtrlEx : public CTreeCtrl
|
|
{
|
|
DECLARE_DYNAMIC(CTreeCtrlEx)
|
|
|
|
// Construction
|
|
public:
|
|
CTreeCtrlEx() : m_bSelectPending(FALSE), m_hClickedItem(NULL), m_hFirstSelectedItem(NULL) {}
|
|
BOOL Create(DWORD dwStyle, DWORD dwExStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
|
|
|
|
// Attributes
|
|
public:
|
|
UINT GetSelectedCount() const;
|
|
HTREEITEM GetFirstSelectedItem();
|
|
HTREEITEM GetNextSelectedItem(HTREEITEM hItem);
|
|
HTREEITEM GetPrevSelectedItem(HTREEITEM hItem);
|
|
HTREEITEM ItemFromData(DWORD dwData, HTREEITEM hStartAtItem=NULL) const;
|
|
|
|
BOOL SelectItemEx(HTREEITEM hItem, BOOL bSelect=TRUE);
|
|
|
|
BOOL SelectItems(HTREEITEM hFromItem, HTREEITEM hToItem);
|
|
void ClearSelection(BOOL bMultiOnly=FALSE);
|
|
|
|
protected:
|
|
void SelectMultiple( HTREEITEM hClickedItem, UINT nFlags );
|
|
|
|
private:
|
|
BOOL m_bSelectPending;
|
|
CPoint m_ptClick;
|
|
HTREEITEM m_hClickedItem;
|
|
HTREEITEM m_hFirstSelectedItem;
|
|
|
|
// Operations
|
|
public:
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CTreeCtrlEx)
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
public:
|
|
virtual ~CTreeCtrlEx() {}
|
|
|
|
// Generated message map functions
|
|
protected:
|
|
//{{AFX_MSG(CTreeCtrlEx)
|
|
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
|
|
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
|
|
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
|
|
afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
|
|
afx_msg BOOL OnItemexpanding(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg BOOL OnSetfocus(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg BOOL OnKillfocus(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
|
|
//}}AFX_MSG
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
|
|
HTREEITEM GetTreeItemFromData(CTreeCtrl& treeCtrl, DWORD dwData, HTREEITEM hStartAtItem=NULL);
|
|
|
|
#endif
|