FaderWnd.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. //Download by http://www.NewXing.com
  2. #pragma once
  3. #ifndef WS_EX_LAYERED
  4. /////////////////////////////////////////////////////////////////////////////
  5. #define WS_EX_LAYERED 0x00080000
  6. #define ULW_ALPHA 0x00000002
  7. #endif // ndef WS_EX_LAYERED
  8. typedef BOOL (WINAPI *lpfnUpdateLayeredWindow)(HWND hWnd,
  9. HDC hdcDst,
  10. POINT *pptDst,
  11. SIZE *psize,
  12. HDC hdcSrc,
  13. POINT *pptSrc,
  14. COLORREF crKey,
  15. BLENDFUNCTION *pblend,
  16. DWORD dwFlags
  17. );
  18. /////////////////////////////////////////////////////////////////////////////
  19. class CFaderWnd : public CWnd
  20. {
  21. public:
  22. CFaderWnd(CWnd *pWndToFade, UINT nFadeTime = 500, BYTE byAlpha =255);
  23. public:
  24. //{{AFX_VIRTUAL(CFaderWnd) //重载的虚函数
  25. protected:
  26. virtual void PostNcDestroy()
  27. {
  28. delete this;
  29. }
  30. //}}AFX_VIRTUAL
  31. private:
  32. virtual ~CFaderWnd();
  33. protected:
  34. //{{AFX_MSG(CFaderWnd) //消息处理函数
  35. afx_msg void OnTimer(UINT nIDEvent);
  36. afx_msg void OnSetFocus(CWnd* pOldWnd);
  37. //}}AFX_MSG
  38. DECLARE_MESSAGE_MAP()
  39. lpfnUpdateLayeredWindow m_pUpdateLayeredWindow;
  40. BLENDFUNCTION m_Blend;
  41. CWnd *m_pWndToFade;
  42. };
  43. /////////////////////////////////////////////////////////////////////////////
  44. //{{AFX_INSERT_LOCATION}}