ComboTreeCtrl2.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #if !defined(AFX_ComboTreeCtrl2_H__FE1D96F3_B70F_4E65_8203_B37AE69DB82D__INCLUDED_)
  2. #define AFX_ComboTreeCtrl2_H__FE1D96F3_B70F_4E65_8203_B37AE69DB82D__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. // ComboTreeCtrl2.h : header file
  7. //
  8. #define TREECTRL_CHECK_STATE_CHANGE (WM_USER + 100)
  9. #define WMU_CLOSE_CONTROL (WM_USER + 101)
  10. /////////////////////////////////////////////////////////////////////////////
  11. // CComboTreeCtrl2 window
  12. class CTreeComboBox2;
  13. class CComboTreeCtrl2 : public CTreeCtrl
  14. {
  15. // Construction
  16. public:
  17. CComboTreeCtrl2();
  18. // Attributes
  19. public:
  20. // Operations
  21. public:
  22. void Display(CRect rc, CString str);
  23. // Overrides
  24. // ClassWizard generated virtual function overrides
  25. //{{AFX_VIRTUAL(CComboTreeCtrl2)
  26. public:
  27. virtual BOOL PreTranslateMessage(MSG* pMsg);
  28. //}}AFX_VIRTUAL
  29. // Implementation
  30. public:
  31. void Init(CTreeComboBox2* pCombo){m_pCombo = pCombo;};
  32. virtual ~CComboTreeCtrl2();
  33. // Generated message map functions
  34. protected:
  35. //{{AFX_MSG(CComboTreeCtrl2)
  36. afx_msg void OnKillfocus(NMHDR* pNMHDR, LRESULT* pResult);
  37. afx_msg void OnClick(NMHDR* pNMHDR, LRESULT* pResult);
  38. afx_msg void OnKeydown(NMHDR* pNMHDR, LRESULT* pResult);
  39. //}}AFX_MSG
  40. afx_msg LRESULT OnTreeCtrlCheckStateChange(WPARAM wParam, LPARAM lParam);
  41. DECLARE_MESSAGE_MAP()
  42. private:
  43. CTreeComboBox2* m_pCombo;
  44. int UncheckChilds(HTREEITEM hItem = NULL, BOOL bRecurse = TRUE);
  45. void GetTreeHierarchy(HTREEITEM hItem, CString &sTreeHierarchy, const BOOL bTopToBottom);
  46. HTREEITEM FindItem(const CString& sName, HTREEITEM hRoot);
  47. HTREEITEM FindItem2(const CString& sName, HTREEITEM hRoot);
  48. };
  49. /////////////////////////////////////////////////////////////////////////////
  50. //{{AFX_INSERT_LOCATION}}
  51. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  52. #endif // !defined(AFX_ComboTreeCtrl2_H__FE1D96F3_B70F_4E65_8203_B37AE69DB82D__INCLUDED_)