MyHeaderCtrl.h
上传用户:popouu88
上传日期:2013-02-11
资源大小:2894k
文件大小:2k
源码类别:

IP电话/视频会议

开发平台:

Visual C++

  1. #if !defined(AFX_MYHEADERCTRL_H__D68EFF1F_2C3A_4C49_8723_25D53C62D030__INCLUDED_)
  2. #define AFX_MYHEADERCTRL_H__D68EFF1F_2C3A_4C49_8723_25D53C62D030__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. // MyHeaderCtrl.h : header file
  7. //
  8. #ifndef __AFXTEMPL_H__
  9. #include "afxtempl.h"
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CMyHeaderCtrl window
  13. class CMyHeaderCtrl : public CHeaderCtrl
  14. {
  15. // Construction
  16. public:
  17. CMyHeaderCtrl();
  18. // Attributes
  19. public:
  20. int GetSortColumn () const;
  21. BOOL IsAscending () const;
  22. int GetColumnState (int iColumn) const;
  23. // Returns: 0 - not not sorted, -1 - descending, 1 - ascending
  24. BOOL IsMultipleSort () const{ return m_bMultipleSort;}
  25. // Operations
  26. public:
  27. CMap <int,int,int,int> m_mapColumnsStatus; // -1, 1, 0
  28. BOOL   m_bIsMousePressed;
  29. BOOL   m_bMultipleSort;
  30. BOOL   m_bAscending;
  31. int   m_nHighlightedItem;
  32.     CFont     fontRegular;
  33. COLORREF  clrBtnFace, clrBtnShadow, clrBtnHilite;
  34. COLORREF  clrBtnText, clrWindowFrame;
  35. COLORREF  clrBtnDkShadow, clrBtnLight;
  36. CBrush   brBtnFace;
  37. BOOL      m_bStaticBorder;
  38. // Operations
  39. public:
  40. void SetSortColumn (int iColumn, BOOL bAscending = TRUE, BOOL bAdd = FALSE);
  41. void RemoveSortColumn (int iColumn);
  42. void EnableMultipleSort (BOOL bEnable = TRUE);
  43. protected:
  44. // Overrides
  45. // ClassWizard generated virtual function overrides
  46. //{{AFX_VIRTUAL(CMyHeaderCtrl)
  47. //}}AFX_VIRTUAL
  48. virtual void OnDrawItem (CDC* pDC, int iItem, CRect rect, BOOL bIsPressed,BOOL bIsHighlighted);
  49. virtual void OnFillBackground (CDC* pDC);
  50. virtual void OnDrawSortArrow (CDC* pDC, CRect rectArrow);
  51. // Implementation
  52. public:
  53. virtual ~CMyHeaderCtrl();
  54. // Generated message map functions
  55. protected:
  56. //{{AFX_MSG(CMyHeaderCtrl)
  57. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  58. afx_msg void OnPaint();
  59. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  60. afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  61. afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  62. afx_msg void OnCancelMode();
  63. //}}AFX_MSG
  64. afx_msg LRESULT OnLayout(WPARAM wparam, LPARAM lparam);
  65. afx_msg LRESULT OnMouseLeave(WPARAM,LPARAM);
  66. DECLARE_MESSAGE_MAP()
  67. };
  68. /////////////////////////////////////////////////////////////////////////////
  69. //{{AFX_INSERT_LOCATION}}
  70. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  71. #endif // !defined(AFX_MYHEADERCTRL_H__D68EFF1F_2C3A_4C49_8723_25D53C62D030__INCLUDED_)