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

P2P编程

开发平台:

Visual C++

  1. #if !defined(AFX_PEERINFO_H__B39B7FFA_B663_45D9_A3D3_E8A0AC305800__INCLUDED_)
  2. #define AFX_PEERINFO_H__B39B7FFA_B663_45D9_A3D3_E8A0AC305800__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. // PeerInfo.h : header file
  7. //
  8. #include "DownloaderFeedback.h"
  9. #include "GraphHaveData.h"
  10. #include "IPLocater.h"
  11. #include "ScrollWndbase.h"
  12. class CPeersListCtrl;
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CPeerInfo window
  15. class CPeerInfo : public CScrollWndbase
  16. {
  17. // Construction
  18. public:
  19. CPeerInfo();
  20. // Attributes
  21. public:
  22. CConncetionData m_conData;
  23. // Operations
  24. public:
  25. BOOL CreateEx(CWnd* pParent, CRect rc, CPeersListCtrl * pPeersListCtrl, long lID, long lParam);
  26. void ClosePeer();
  27. // Overrides
  28. // ClassWizard generated virtual function overrides
  29. //{{AFX_VIRTUAL(CPeerInfo)
  30. //}}AFX_VIRTUAL
  31. // Implementation
  32. public:
  33. void ShowPeer(const CConncetionData& conData);
  34. bool IsMonitoring();
  35. virtual ~CPeerInfo();
  36. // Generated message map functions
  37. protected:
  38. //{{AFX_MSG(CPeerInfo)
  39. afx_msg void OnPaint();
  40. afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
  41. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  42. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  43. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  44. afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
  45. afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
  46. //}}AFX_MSG
  47. void OnMenuItemPeers(UINT uID);
  48. DECLARE_MESSAGE_MAP()
  49. private:
  50. void OnScrollEx();
  51. void EraseBk(CDC & dc, CRect rc);
  52. void DrawItem(CDC & dc, bool bPart = false);
  53. void DrawFace(COLORREF Top, COLORREF Bottom, CRect& rc, CRect CalRc, CDC* pDC);
  54. static CString GetDefaultModulePath();
  55. void PaintSpeedGraph(CDC& dc, CRect rc, bool bShowText);
  56. long GetMaxValue(long lValue[], long lCount);
  57. void DrawLine(long lValue[], CDC& dc, COLORREF cor, CRect& rc, long lMax, long iVisibleCount);
  58. enum {eAddr, ePeerId, eDownRate, eUpRate, eDownCount, eState, eSpeed, eHaves, eInterested, eInteresting, eAllCount};
  59. bool m_bRefreshItem[eAllCount];
  60. long m_lGridWidth;
  61. CFont m_font;
  62. CGraphHaveData m_graphHaveData;
  63. CString m_strIPName;
  64. CIPLocater m_IPLocator;
  65. CPeersListCtrl* m_pPeersListCtrl;
  66. bool m_bAbort;
  67. bool m_bMonitoring;
  68. };
  69. /////////////////////////////////////////////////////////////////////////////
  70. //{{AFX_INSERT_LOCATION}}
  71. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  72. #endif // !defined(AFX_PEERINFO_H__B39B7FFA_B663_45D9_A3D3_E8A0AC305800__INCLUDED_)