ToolTipWnd.h
上传用户:lydc80129
上传日期:2013-01-15
资源大小:979k
文件大小:3k
源码类别:

界面编程

开发平台:

Visual C++

  1. #if !defined(AFX_TOOLTIPWND_H__2C52D3E4_2F5B_11D2_8FC9_000000000000__INCLUDED_)
  2. #define AFX_TOOLTIPWND_H__2C52D3E4_2F5B_11D2_8FC9_000000000000__INCLUDED_
  3. #if _MSC_VER >= 1000
  4. #pragma once
  5. #endif // _MSC_VER >= 1000
  6. // ToolTipWnd.h : header file
  7. //
  8. // 作者:易强亮
  9. // Email:kuge3907@sina.com
  10. // 完成日期:2003-3-22
  11. // Copyright (c) 2003.
  12. //本程序可以实现六种样式:
  13. //1.普通矩形样式
  14. //2.圆角矩形样式
  15. //3.椭圆样式
  16. //4.气球样式
  17. //5.吊篮样式
  18. //6.心脏样式
  19. /////////////////////////////////////////////////////////////////////////////
  20. // CToolTipWnd window
  21. struct BTOOLINFO {
  22. HWND hwndTool;
  23. CString strToolText;
  24. COLORREF clrToolTextClr;
  25. };
  26. #define TTWS_RECT      0x00000001 //普通矩形样式
  27. #define TTWS_ROUNDRECT 0x00000002 //圆角矩形样式
  28. #define TTWS_ELLIPSE   0x00000003 //椭圆样式
  29. #define TTWS_BALLOON   0x00000004 //气球样式
  30. #define TTWS_NACELLE   0x00000005 //吊篮样式
  31. #define TTWS_HEART     0x00000006 //心脏样式
  32. class CToolTipWnd : public CWnd
  33. {
  34. private:
  35. // Construction
  36. LPCTSTR lpWndCls;
  37. public:
  38. CToolTipWnd();
  39. HWND pCurrwnd;//拥有当前ToolTipWnd的窗体的窗口句柄
  40. // Attributes
  41. public:
  42. void RelayEvent(LPMSG);//事件延迟
  43. BOOL Create(CWnd*,DWORD);//窗体创建
  44. bool m_bStuck;         //是否显示tooltip窗口
  45.     BOOL SetTTWStyle(DWORD nStyle);//设置窗口样式
  46. DWORD GetCurrentTTWStyle(){return nCurntTTWStyle;}//得到当前样式
  47. void SetCurrentTTWStyle(DWORD nStyle){nCurntTTWStyle=nStyle;}//设置当前样式
  48. void AddTool(CWnd *pWnd, CString strText, COLORREF clrTextColor=NULL);
  49. void SetWidth(int iWidth) { m_iWidth = iWidth; }
  50. void SetHeight(int iHeight) { m_iHeight = iHeight; }
  51. void SetBkColor(COLORREF clrRef) { m_clrBkColor = clrRef; }
  52. void SetFrameColor(COLORREF clrRef) { m_clrFrameColor = clrRef; }
  53. void SetDefTextColor(COLORREF clrRef) { m_clrTextColor = clrRef; }
  54. void SetFontHeight(int iHeight) { m_iFontHeight = iHeight; }
  55. void SetFontName(CString strFontName) { m_strFontName = strFontName; }
  56.     BYTE GetWndAlpha()const{return m_hWndAlpha;}//得到窗口透明度
  57. void SetWndAlpha(BYTE nWndAlpha){m_hWndAlpha=nWndAlpha;}//设置透明度 
  58. public:
  59. CRgn rgn;
  60. CRgn rgnComb;           //合并体区域
  61. CRgn rgnTri;
  62. CRect m_RectText;       //文本窗体
  63. CFont m_fontText;       //要显示的文本字体
  64. BYTE m_hWndAlpha;       //窗体透明度(<=255)
  65. CString m_strText;      //要显示的文本
  66. bool m_bMouseIn;        //鼠标是否在某个控件内
  67. COLORREF m_clrTextColor;//文本颜色
  68. COLORREF m_clrBkColor;  //背景颜色
  69. COLORREF m_clrFrameColor;//边框颜色
  70. CMapPtrToPtr m_ToolPtr;  //映射对象 
  71. int m_iWidth;            //窗口宽度
  72. int m_iHeight;           //窗口高度
  73. int m_iFontHeight;       //字体高度
  74. CString m_strFontName;   //字体名称
  75.     static DWORD nCurntTTWStyle; //当前使用的样式,其值只能是定义的那些
  76. HWND m_hParentWnd;       //父窗口句柄
  77. public:
  78. // Overrides
  79. // ClassWizard generated virtual function overrides
  80. //{{AFX_VIRTUAL(CToolTipWnd)
  81. //}}AFX_VIRTUAL
  82. // Implementation
  83. public:
  84. virtual ~CToolTipWnd();
  85. // Generated message map functions
  86. protected:
  87. //{{AFX_MSG(CToolTipWnd)
  88. afx_msg void OnPaint();
  89. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  90. //}}AFX_MSG
  91. DECLARE_MESSAGE_MAP()
  92. };
  93. /////////////////////////////////////////////////////////////////////////////
  94. //{{AFX_INSERT_LOCATION}}
  95. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  96. #endif // !defined(AFX_TOOLTIPWND_H__2C52D3E4_2F5B_11D2_8FC9_000000000000__INCLUDED_)