CoolListBox.h
上传用户:sunh8215
上传日期:2010-02-13
资源大小:1616k
文件大小:3k
源码类别:

酒店行业

开发平台:

Visual C++

  1. /*####################################################################
  2. Filename:  coollistbox.h
  3. ----------------------------------------------------
  4.   ####################################################################*/
  5. #if !defined(_ANYOU_COOLLISTBOX_H)
  6. #define _ANYOU_COOLLISTBOX_H
  7. #if _MSC_VER > 1000
  8. #pragma once
  9. #endif 
  10. #include <afxtempl.h>
  11. #include "CoolTipCtrl.h"
  12. /*####################################################################
  13. ------------------------------------------------
  14.     CListBoxItem class
  15. ------------------------------------------------
  16.   ####################################################################*/
  17. class CListBoxItem
  18. {
  19. friend class CCoolListBox;
  20. private:
  21. CCoolListBox* m_parent;
  22. int m_nImage;
  23. int m_nIndex;
  24. UINT ID;//item ID
  25. CString m_strText;
  26. CString m_strTipText;
  27. DWORD m_dwExState;
  28. DWORD m_dwExStyle;
  29. public:
  30. void SetTipText(LPCTSTR strTipText);
  31. CListBoxItem(int nIndex, int nImage, CString strText, CCoolListBox* parent);
  32. };
  33. #define IDC_UPBUTTON 1689908023
  34. #define IDC_DOWNBUTTON 1689908024
  35. #if !defined(ODS_HOTLIGHT)
  36. #define ODS_HOTLIGHT     0x0040
  37. #endif
  38. /*####################################################################
  39. ------------------------------------------------
  40. CCoolListBox class
  41. ------------------------------------------------
  42.   ####################################################################*/
  43. class CCoolListBox : public CListBox
  44. {
  45. // Construction-----------------------------------------
  46. public:
  47. CCoolListBox();
  48. virtual ~CCoolListBox();
  49. virtual BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
  50. // Attributes-------------------------------------------
  51. public:
  52. CList<CListBoxItem*, CListBoxItem*> m_aItems;
  53. int m_nHotItem;
  54. int m_nIndex;         // currently selected menu index
  55.     bool m_bHilight;       // true when menu item is selected
  56.     bool m_bLBDown;        // true when left mouse button is pressed
  57.     CPoint m_point;          // holds the cursor position
  58. CButton m_wndUpButton;
  59. CButton m_wndDownButton;
  60. CCoolTipCtrl    m_wndTipctrl;
  61. CImageList m_imagelist;
  62. // Operations-------------------------------------------
  63. public:
  64. int AddItem(int nImage, LPCTSTR strText,UINT id, LPCTSTR strTipText = "");
  65. BOOL SetImagelist(UINT uBitmap);
  66. // Overrides---------------------------------------------
  67. //{{AFX_VIRTUAL(CCoolListBox)
  68. protected:
  69. //}}AFX_VIRTUAL
  70. // Implementation----------------------------------------
  71. protected:
  72. void ReLocation();
  73. CListBoxItem* GetItem(int nIndex);
  74. // Generated message map functions------------------------
  75. protected:
  76. //{{AFX_MSG(CCoolListBox)
  77. afx_msg void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct);
  78. afx_msg void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
  79. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  80. afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  81. afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  82. afx_msg void OnTimer(UINT nIDEvent);
  83. afx_msg int  OnCreate(LPCREATESTRUCT lpCreateStruct);
  84. afx_msg void OnSize(UINT nType, int cx, int cy);
  85. afx_msg void OnDownButton();
  86. afx_msg void OnUpButton();
  87. //}}AFX_MSG
  88. DECLARE_MESSAGE_MAP()
  89. };
  90. //{{AFX_INSERT_LOCATION}}
  91. #endif // !defined(_ANYOU_COOLLISTBOX_H)