DragWnd.h
上传用户:lds876
上传日期:2013-05-25
资源大小:567k
文件大小:3k
源码类别:

P2P编程

开发平台:

Visual C++

  1. #if !defined(AFX_DRAGWND_H__FDED5A98_767D_47CB_BE10_D7C601B3A76C__INCLUDED_)
  2. #define AFX_DRAGWND_H__FDED5A98_767D_47CB_BE10_D7C601B3A76C__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. // DragWnd.h : header file
  7. //
  8. #include "CategoryDownload.h"
  9. #include "MonitorSpeedbase.h"
  10. //
  11. // onMessage(long lParam, long wParam)
  12. //  lParam will be WM_LBUTTONDBLCLK or WM_CONTEXTMENU. wParam be NULL.
  13. //
  14. #define WM_DRAGWND_NOTIFY WM_USER + 3121 
  15. typedef BOOL (WINAPI *pSetLayeredWindowAttributes)(HWND hWnd,COLORREF crKey,   
  16.    BYTE bAlpha,         // value for the blend function
  17.    DWORD dwFlags        // action
  18.    );
  19. /////////////////////////////////////////////////////////////////////////////
  20. // CDragWnd window
  21. class CDragWnd : public CMonitorSpeedbase
  22. {
  23. // Construction
  24. public:
  25. CDragWnd();
  26. // Attributes
  27. public:
  28. // Operations
  29. public:
  30. BOOL CreateExtend(CWnd* pMainFrame, CCategoryDownload* pCategoryDownload);
  31. void SetStandardSize();
  32. int  GetOpacity();
  33. BOOL SetOpacity(int nOpacity=220);
  34. void SetTransparent(BOOL bTransparent=true);
  35. BOOL SetTransparentEx(BOOL bTransparent=true, int nOpactiy=220);
  36. void ShowText(bool bShowText);
  37. bool IsShowText();
  38. // Overrides
  39. // ClassWizard generated virtual function overrides
  40. //{{AFX_VIRTUAL(CDragWnd)
  41. public:
  42. virtual BOOL DestroyWindow();
  43. //}}AFX_VIRTUAL
  44. // Implementation
  45. public:
  46. bool CanSetTransparent();
  47. virtual ~CDragWnd();
  48. // Generated message map functions
  49. protected:
  50. //{{AFX_MSG(CDragWnd)
  51. afx_msg void OnPaint();
  52. afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
  53. afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
  54. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  55. afx_msg void OnNcPaint();
  56. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  57. afx_msg void OnSize(UINT nType, int cx, int cy);
  58. //}}AFX_MSG
  59. afx_msg void OnGetMinMaxInfo( MINMAXINFO FAR* lpMMI );
  60. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  61. afx_msg UINT OnNcHitTest(CPoint point);
  62. afx_msg void OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS FAR* lpncsp);
  63. afx_msg void OnTimer(UINT nIDEvent);
  64. DECLARE_MESSAGE_MAP()
  65. private:
  66. void LoadState();
  67. void SaveState();
  68. BOOL GetEdgeRect(CRect rcWnd, UINT nHitTest, CRect& rcEdge);
  69. UINT GetEdgeHTCode(int nEdge);
  70. bool m_bShowText;
  71. int m_nOpacity;
  72. BOOL m_bTransparent;
  73. CWnd* m_pMainFrame;
  74. CCategoryDownload* m_pCategoryDownload;
  75. CFont m_font;
  76. const CPoint m_defSize;
  77. int m_iEdge;
  78. static const CString m_strSection;
  79. pSetLayeredWindowAttributes SetLayeredWindowAttributes;
  80. };
  81. /////////////////////////////////////////////////////////////////////////////
  82. //{{AFX_INSERT_LOCATION}}
  83. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  84. #endif // !defined(AFX_DRAGWND_H__FDED5A98_767D_47CB_BE10_D7C601B3A76C__INCLUDED_)