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

酒店行业

开发平台:

Visual C++

  1. /*########################################################################
  2. Filename:  cooltipctrl.h
  3. ----------------------------------------------------
  4. Remarks: ...
  5. ----------------------------------------------------
  6.   ########################################################################*/
  7. #if !defined(_ANYOU_COOLTIP_H)
  8. #define _ANYOU_COOLTIP_H
  9. #if _MSC_VER > 1000
  10. #pragma once
  11. #endif // _MSC_VER > 1000
  12. #define WS_EX_LAYERED 0x00080000
  13. #define LWA_ALPHA 0x00000002
  14. //CoolTip Ctrl Styles:------------------------
  15. #define TIPS_AUTOSIZE 0x00000001
  16. #define TIPS_TRANSPARENT 0x00000002
  17. #define TIPS_SHOWNEXT 0x00000008
  18. #define TIPS_FADEIN 0x00000010
  19. #define TIPS_FADEOUT 0x00000020
  20. #define TIPS_NORMAL 0x00000040
  21. #define TIPS_DELAYSHOW 0x00000080
  22. #define TIPS_HIDE 0x00000100
  23. #define TIPS_VISIBLE 0x00000070
  24. #define TIPS_SHOWING 0x000000F0
  25. /*####################################################################
  26. ------------------------------------------------
  27.    CCoolTipCtrl class
  28. ------------------------------------------------
  29.   ####################################################################*/
  30. class CCoolTipCtrl : public CWnd
  31. {
  32. // Construction-----------------------------------
  33. public:
  34. CCoolTipCtrl();
  35. virtual ~CCoolTipCtrl();
  36. BOOL Create(CSize size, CWnd* pParentWnd, UINT dwStyle = 1, UINT uID = 0);
  37. // Overrides---------------------------------------
  38. public:
  39. //{{AFX_VIRTUAL(CCoolTipCtrl)
  40. public:
  41. protected:
  42. //}}AFX_VIRTUAL
  43. // Implementation----------------------------------
  44. public:
  45. BOOL Hide();
  46. BOOL Show(CPoint point);
  47. //Attributes---------------------------------------
  48. public:
  49. DWORD GetState() {return m_dwState;}
  50. DWORD GetStyle() {return m_dwStyle;}
  51. CRect GetRect() {return m_rcRect;}
  52. CString GetText() {return m_strText;}
  53. CString GetTitleText() {return m_strTitle;}
  54. COLORREF GetTextColor() {return m_crText;}
  55. COLORREF GetTitleColor() {return m_crTitle;}
  56. BOOL IsShow();
  57. //Operations---------------------------------------
  58. public:
  59. UINT OnNcHitTest(CPoint point);
  60. void DrawShadow(CDC *pDC, CRect rect, COLORREF color = RGB(0,0,0));
  61. void SetText(CString strText);
  62. void SetTitle(CString strTitle);
  63. void SetRect(const CRect& rect);
  64. void SetDelayTime(int nTime);
  65. void SetBkColor(COLORREF crBk);
  66. void SetTextColor(COLORREF crText);
  67. void SetTitleColor(COLORREF crTitle);
  68. void SetSize(CSize sz);
  69. void SetIcon(HICON hIcon, CSize szIcon = CSize(16,16));
  70. //Protected Methods--------------------------------
  71. protected:
  72. void AutoSize();
  73. void OnDraw(CDC *pDC);
  74. BOOL SetTransparent(HWND hWnd, COLORREF crKey, BYTE bAlpha, DWORD dwFlags);
  75. CSize GetStringSize(CString strText, int nlinecount, CSize szFont);
  76. //Member Variables:--------------------------------
  77. private:
  78. DWORD m_dwStyle; //Tip control style
  79. DWORD m_dwState;
  80. COLORREF m_crTitle; //Title text color
  81. COLORREF m_crText; //Text color
  82. COLORREF m_crBk; //Background color
  83. HICON  m_hIcon;
  84. CSize m_nSize; //Window size
  85. CSize m_szText; //text size
  86. CSize m_szIcon; //Icon size
  87. int m_nFade; //Fade time
  88. int m_nDelayTime; //Delay time
  89. int m_nShowTime; //Show time
  90. CString m_strText; //Tip Text
  91. CString m_strTitle; //Title
  92. CRect m_rcRect; //rect
  93. CPoint m_point; //mouse point
  94. HMODULE hUserDll ; //DLL
  95. CDC m_MemDC; //Memory dc
  96. CBitmap bitmap;
  97. CBitmap *oldbitmap; //old map
  98. // Generated message map functions------------------
  99. protected:
  100. //{{AFX_MSG(CCoolTipCtrl)
  101. afx_msg void OnTimer(UINT nIDEvent);
  102. afx_msg void OnPaint();
  103. afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  104. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  105. afx_msg void OnDestroy();
  106. afx_msg void OnNcPaint();
  107. afx_msg void OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS FAR* lpncsp);
  108. //}}AFX_MSG
  109. DECLARE_MESSAGE_MAP()
  110. };
  111. //{{AFX_INSERT_LOCATION}}
  112. #endif // !defined(_ANYOU_COOLTIP_H)