www.pudn.com > WQDemo.rar > XHeaderCtrl.h
// XHeaderCtrl.h /////////////////////////////////////////////////////////////////////////////// #ifndef XHEADERCTRL_H #define XHEADERCTRL_H #include#include "MemDC.h" #define FLATHEADER_TEXT_MAX 80 #define XHEADERCTRL_NO_IMAGE 0 #define XHEADERCTRL_UNCHECKED_IMAGE 1 #define XHEADERCTRL_CHECKED_IMAGE 2 /////////////////////////////////////////////////////////////////////////////// // CXHeaderCtrl window #define FH_PROPERTY_SPACING 1 #define FH_PROPERTY_ARROW 2 #define FH_PROPERTY_STATICBORDER 3 #define FH_PROPERTY_DONTDROPCURSOR 4 #define FH_PROPERTY_DROPTARGET 5 class CXHeaderCtrl : public CHeaderCtrl { DECLARE_DYNCREATE(CXHeaderCtrl) // Construction public: CXHeaderCtrl(); virtual ~CXHeaderCtrl(); // Attributes public: BOOL ModifyProperty(WPARAM wParam, LPARAM lParam); int GetSpacing() { return m_iSpacing; } void SetSpacing(int nSpacing) { m_iSpacing = nSpacing; } // Overrides public: virtual void DrawItem(LPDRAWITEMSTRUCT); virtual void DrawItem(CDC* pDC, CRect rect, LPHDITEM lphdi); // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CXHeaderCtrl) //}}AFX_VIRTUAL // Implementation protected: BOOL m_bDoubleBuffer; int m_iSpacing; SIZE m_sizeImage; SIZE m_sizeArrow; BOOL m_bStaticBorder; UINT m_nDontDropCursor; BOOL m_bResizing; UINT m_nClickFlags; CPoint m_ptClickPoint; COLORREF m_cr3DHighLight; COLORREF m_cr3DShadow; COLORREF m_cr3DFace; COLORREF m_crBtnText; void DrawCtrl(CDC* pDC); int DrawImage(CDC* pDC, CRect rect, LPHDITEM hdi, BOOL bRight); int DrawBitmap(CDC* pDC, CRect rect, LPHDITEM hdi, CBitmap* pBitmap, BITMAP* pBitmapInfo, BOOL bRight); int DrawText (CDC* pDC, CRect rect, LPHDITEM lphdi); // Generated message map functions protected: //{{AFX_MSG(CXHeaderCtrl) afx_msg LRESULT OnDeleteItem(WPARAM wparam, LPARAM lparam); afx_msg LRESULT OnInsertItem(WPARAM wparam, LPARAM lparam); afx_msg LRESULT OnLayout(WPARAM wparam, LPARAM lparam); afx_msg LRESULT OnSetImageList(WPARAM wparam, LPARAM lparam); afx_msg BOOL OnEraseBkgnd(CDC* pDC); afx_msg void OnPaint(); afx_msg void OnSysColorChange(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; /////////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif //XHEADERCTRL_H