// CTaskbarNotifier Header file // By John O'Byrne - 05 July 2002 #pragma once #define WM_TASKBARNOTIFIERCLICKED WM_USER + 123 #define TN_TEXT_NORMAL 0x0000 #define TN_TEXT_BOLD 0x0001 #define TN_TEXT_ITALIC 0x0002 #define TN_TEXT_UNDERLINE 0x0004 // CTaskbarNotifier class CTaskbarNotifier : public CWnd { DECLARE_DYNAMIC(CTaskbarNotifier) public: CTaskbarNotifier(); virtual ~CTaskbarNotifier(); int Create(CWnd *pWndParent, int nOrder = 0); void Show(LPCTSTR szCaption,DWORD dwTimeToShow=500,DWORD dwTimeToStay=3000,DWORD dwTimeToHide=500,int nIncrement=1); void Hide(); BOOL SetSkin(UINT nBitmapID,short red=-1,short green=-1,short blue=-1); BOOL SetSkin(LPCTSTR szFileName,short red=-1,short green=-1,short blue=-1); // add [6/24/2009 hemeng] BOOL SetSkin(HBITMAP hd,short red=-1,short green=-1,short blue=-1); // end add [6/24/2009 hemeng] void SetTextFont(LPCTSTR szFont,int nSize,int nNormalStyle,int nSelectedStyle); void SetTextColor(COLORREF crNormalTextColor,COLORREF crSelectedTextColor); void SetTextRect(RECT rcText); void SetAppValue(WPARAM wParam, LPARAM lParam) { m_Type = wParam; m_AppValue = lParam; } CWnd *m_pWndParent; CFont m_myNormalFont; CFont m_mySelectedFont; COLORREF m_crNormalTextColor; COLORREF m_crSelectedTextColor; HCURSOR m_hCursor; CBitmap m_biSkinBackground; HRGN m_hSkinRegion; CRect m_rcText; int m_nSkinWidth; int m_nSkinHeight; CString m_strCaption; BOOL m_bMouseIsOver; int m_nAnimStatus; DWORD m_dwTimeToShow; DWORD m_dwTimeToLive; DWORD m_dwTimeToHide; DWORD m_dwDelayBetweenShowEvents; DWORD m_dwDelayBetweenHideEvents; int m_nStartPosX; int m_nStartPosY; int m_nCurrentPosX; int m_nCurrentPosY; int m_nTaskbarPlacement; int m_nIncrement; int m_Order; protected: BYTE* Get24BitPixels(HBITMAP pBitmap, WORD *pwWidth, WORD *pwHeight); HRGN GenerateRegion(HBITMAP hBitmap, BYTE red, BYTE green, BYTE blue); private: WPARAM m_Type; LPARAM m_AppValue; protected: DECLARE_MESSAGE_MAP() public: afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnDestroy(); afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message); afx_msg void OnMouseMove(UINT nFlags, CPoint point); afx_msg void OnLButtonUp(UINT nFlags, CPoint point); afx_msg LRESULT OnMouseHover(WPARAM w, LPARAM l); afx_msg LRESULT OnMouseLeave(WPARAM w, LPARAM l); afx_msg BOOL OnEraseBkgnd(CDC* pDC); afx_msg void OnPaint(); afx_msg void OnTimer(UINT nIDEvent); };