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

P2P编程

开发平台:

Visual C++

  1. #if !defined(AFX_SUBFILESWND_H__3B58F671_832A_47C8_9E8D_3F11B9A2DFCF__INCLUDED_)
  2. #define AFX_SUBFILESWND_H__3B58F671_832A_47C8_9E8D_3F11B9A2DFCF__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. // SubFilesWnd.h : header file
  7. //
  8. #include "ctrlext.h"
  9. class CFileTorrent;
  10. class CCategoryBarWnd;
  11. class CFileDBItem;
  12. class CMonitorWnd;
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CSubFilesWnd window
  15. class CSubFilesWnd : public CTreeCtrlEx
  16. {
  17. // Construction
  18. public:
  19. CSubFilesWnd();
  20. // Attributes
  21. public:
  22. void GetChecks();
  23. vector<CSize> m_vChecks;
  24. // Operations
  25. public:
  26. BOOL CreateEx(CWnd *pParent, CRect &rc, long lParam, bool bMonitor, CMonitorWnd* pMonitorWnd);
  27. void SetCateGoryBarWnd(CCategoryBarWnd* pCategoryBarWnd);
  28. // void Monitor(CFileDBItem* pFileDBItem);
  29. void Monitor(string strTorrentFileName = string(), string strFileName = string(), CFileDBItem* pFileDBItem = 0);
  30. void Monitor(CFileTorrent* pFileTorrent, string strFileName = string(), CFileDBItem* pFileDBItem = 0);
  31. void Init();
  32. // Overrides
  33. // ClassWizard generated virtual function overrides
  34. //{{AFX_VIRTUAL(CSubFilesWnd)
  35. //}}AFX_VIRTUAL
  36. // Implementation
  37. public:
  38. void ShowSubFiles();
  39. void LoadSubFiles();
  40. virtual ~CSubFilesWnd();
  41. // Generated message map functions
  42. protected:
  43. //{{AFX_MSG(CSubFilesWnd)
  44. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  45. afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
  46. afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
  47. //}}AFX_MSG
  48. void OnMenuStartFile(UINT nID);
  49. void OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult);
  50. void OnRightClick(NMHDR *pNotifyStruct,LRESULT *result);
  51. afx_msg void OnOpenDirectory();
  52. afx_msg void OnLoadSubfilesCompleted(long lParam, long wParam);
  53. afx_msg void CSubFilesWnd::OnMenuitemMonitorSub(UINT uID);
  54. DECLARE_MESSAGE_MAP()
  55. private:
  56. static DWORD WINAPI ShowSubFilesProc(void *pParam);
  57. void Stop();
  58. CTreeCursor AddItem(CString strItem, CTreeCursor curLayer, int iInx, bool bDir, bool bSizeZero);
  59. int GetIconIndex(char *filename, BOOL bDirectory = false);
  60. CMonitorWnd* m_pMonitorWnd;
  61. CFileDBItem* m_pFileDBItem;
  62. CCategoryBarWnd* m_pCategoryBarWnd;
  63. CFileTorrent* m_pFileTorrent;
  64. bool m_bMonitor;
  65. string m_strFileName;
  66. string m_strTorrentFileName;
  67. CImageList m_ctlImage;
  68. CTreeCursor m_ItemSel;
  69. HANDLE m_hCancel;
  70. HANDLE m_hFileOpenDone;
  71. enum {eNormal, eSizeZero};
  72. //////////////////////////////////////////////////////////
  73. // switch download and delete mode.
  74. bool TravelThrough(HTREEITEM hItem);
  75. void SetItemCheck(CTreeCursor curItem, BOOL bCheck);
  76. void TravelChild(HTREEITEM hItem, BOOL bCheck);
  77. void TravelSiblingAndParent(HTREEITEM hItem);
  78. void GetChecksChild(HTREEITEM hItem, BOOL bDelete);
  79. long m_lCount;
  80. };
  81. /////////////////////////////////////////////////////////////////////////////
  82. //{{AFX_INSERT_LOCATION}}
  83. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  84. #endif // !defined(AFX_SUBFILESWND_H__3B58F671_832A_47C8_9E8D_3F11B9A2DFCF__INCLUDED_)