heretic2-sdk/Toolkit/Programming/Tools/qMView/treectrlex.h
1998-11-24 00:00:00 +00:00

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