TaskbarNotifier.h
上传用户:dengkfang
上传日期:2008-12-30
资源大小:5233k
文件大小:2k
源码类别:

CA认证

开发平台:

Visual C++

  1. // CTaskbarNotifier Header file
  2. // By John O'Byrne - 05 July 2002
  3. //MSN 提示
  4. #pragma once
  5. #define WM_TASKBARNOTIFIERCLICKED WM_USER+123
  6. #define TN_TEXT_NORMAL 0x0000
  7. #define TN_TEXT_BOLD 0x0001
  8. #define TN_TEXT_ITALIC 0x0002
  9. #define TN_TEXT_UNDERLINE 0x0004
  10. // CTaskbarNotifier
  11. class CTaskbarNotifier : public CWnd
  12. {
  13. DECLARE_DYNAMIC(CTaskbarNotifier)
  14. public:
  15. CTaskbarNotifier();
  16. virtual ~CTaskbarNotifier();
  17. int Create(CWnd *pWndParent);
  18. void Show(LPCTSTR szCaption,DWORD dwTimeToShow=500,DWORD dwTimeToStay=3000,DWORD dwTimeToHide=500,int nIncrement=1);
  19. void Hide();
  20. BOOL SetSkin(UINT nBitmapID,short red=-1,short green=-1,short blue=-1);
  21. BOOL SetSkin(LPCTSTR szFileName,short red=-1,short green=-1,short blue=-1);
  22. void SetTextFont(LPCTSTR szFont,int nSize,int nNormalStyle,int nSelectedStyle);
  23. void SetTextColor(COLORREF crNormalTextColor,COLORREF crSelectedTextColor);
  24. void SetTextRect(RECT rcText);
  25. CWnd *m_pWndParent;
  26. CFont m_myNormalFont;
  27. CFont m_mySelectedFont;
  28. COLORREF m_crNormalTextColor;
  29. COLORREF m_crSelectedTextColor;
  30. HCURSOR m_hCursor;
  31. CBitmap m_biSkinBackground;
  32. HRGN m_hSkinRegion;
  33. CRect m_rcText;
  34. int m_nSkinWidth;
  35. int m_nSkinHeight;
  36. CString m_strCaption;
  37. BOOL m_bMouseIsOver;
  38. int m_nAnimStatus;
  39.   DWORD m_dwTimeToShow;
  40. DWORD m_dwTimeToLive;
  41. DWORD m_dwTimeToHide;
  42. DWORD m_dwDelayBetweenShowEvents;
  43. DWORD m_dwDelayBetweenHideEvents;
  44. int m_nStartPosX;
  45. int m_nStartPosY;
  46. int m_nCurrentPosX;
  47. int m_nCurrentPosY;
  48. int m_nTaskbarPlacement;
  49. int m_nIncrement;
  50. protected:
  51. BYTE* Get24BitPixels(HBITMAP pBitmap, WORD *pwWidth, WORD *pwHeight);
  52. HRGN GenerateRegion(HBITMAP hBitmap, BYTE red, BYTE green, BYTE blue);
  53. protected:
  54. DECLARE_MESSAGE_MAP()
  55. public:
  56. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  57. afx_msg void OnDestroy();
  58. afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
  59. afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  60. afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  61. afx_msg LRESULT OnMouseHover(WPARAM w, LPARAM l);
  62. afx_msg LRESULT OnMouseLeave(WPARAM w, LPARAM l);
  63. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  64. afx_msg void OnPaint();
  65. afx_msg void OnTimer(UINT nIDEvent);
  66. };