1 #if !defined(AFX_PROPTREELIST_H__2E09E831_09F5_44AA_B41D_9C4BF495873C__INCLUDED_)
2 #define AFX_PROPTREELIST_H__2E09E831_09F5_44AA_B41D_9C4BF495873C__INCLUDED_
3 
4 #if _MSC_VER > 1000
5 #pragma once
6 #endif // _MSC_VER > 1000
7 // PropTreeList.h : header file
8 //
9 //  Copyright (C) 1998-2001 Scott Ramsay
10 //	sramsay@gonavi.com
11 //	http://www.gonavi.com
12 //
13 //  This material is provided "as is", with absolutely no warranty expressed
14 //  or implied. Any use is at your own risk.
15 //
16 //  Permission to use or copy this software for any purpose is hereby granted
17 //  without fee, provided the above notices are retained on all copies.
18 //  Permission to modify the code and to distribute modified code is granted,
19 //  provided the above notices are retained, and a notice that the code was
20 //  modified is included with the above copyright notice.
21 //
22 //	If you use this code, drop me an email.  I'd like to know if you find the code
23 //	useful.
24 
25 class CPropTree;
26 
27 /////////////////////////////////////////////////////////////////////////////
28 // CPropTreeList window
29 
30 class PROPTREE_API CPropTreeList : public CWnd
31 {
32 // Construction
33 public:
34 	CPropTreeList();
35 	virtual ~CPropTreeList();
36 
37 	BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
38 
39 // Attributes
40 public:
41 	void SetPropOwner(CPropTree* pProp);
42 
43 protected:
44 	// CPropTree class that this class belongs
45 	CPropTree*		m_pProp;
46 
47 	// bitmap back buffer for flicker free drawing
48 	CBitmap			m_BackBuffer;
49 
50 	// current diminsions of the back buffer
51 	CSize			m_BackBufferSize;
52 
53 	// splitter pevious position
54 	LONG			m_nPrevCol;
55 
56 	// TRUE if we are dragging the splitter
57 	BOOL			m_bColDrag;
58 
59 // Operations
60 public:
61 	void UpdateResize();
62 
63 protected:
64 	void RecreateBackBuffer(int cx, int cy);
65 	void CheckVisibleFocus();
66 
67 // Overrides
68 	// ClassWizard generated virtual function overrides
69 	//{{AFX_VIRTUAL(CPropTreeList)
70 	//}}AFX_VIRTUAL
71 
72 // Implementation
73 public:
74 
75 	// Generated message map functions
76 protected:
77 	//{{AFX_MSG(CPropTreeList)
78 	afx_msg void OnSize(UINT nType, int cx, int cy);
79 	afx_msg void OnPaint();
80 	afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
81 	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
82 	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
83 	afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
84 	afx_msg void OnMouseMove(UINT nFlags, CPoint point);
85 	afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
86 	afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
87 	afx_msg UINT OnGetDlgCode();
88 	//}}AFX_MSG
89 public:
90 	afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
91 	DECLARE_MESSAGE_MAP()
92 };
93 
94 /////////////////////////////////////////////////////////////////////////////
95 
96 //{{AFX_INSERT_LOCATION}}
97 // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
98 
99 #endif // !defined(AFX_PROPTREELIST_H__2E09E831_09F5_44AA_B41D_9C4BF495873C__INCLUDED_)
100