WZDDOC.CPP
上传用户:leishk
上传日期:2022-03-16
资源大小:3649k
文件大小:3k
源码类别:

ListView/ListBox

开发平台:

Visual C++

  1. // WzdDoc.cpp : implementation of the CWzdDoc class
  2. //
  3. #include "stdafx.h"
  4. #include "Wzd.h"
  5. #include "WzdDoc.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CWzdDoc
  13. IMPLEMENT_DYNCREATE(CWzdDoc, CDocument)
  14. BEGIN_MESSAGE_MAP(CWzdDoc, CDocument)
  15. //{{AFX_MSG_MAP(CWzdDoc)
  16. ON_COMMAND(IDC_ICON_MODE, OnIconMode)
  17. ON_COMMAND(IDC_LIST_MODE, OnListMode)
  18. ON_COMMAND(IDC_REPORT_MODE, OnReportMode)
  19. ON_COMMAND(IDC_SMALLICON_MODE, OnSmalliconMode)
  20. ON_COMMAND(IDC_UPLEVEL, OnUplevel)
  21. //}}AFX_MSG_MAP
  22. END_MESSAGE_MAP()
  23. /////////////////////////////////////////////////////////////////////////////
  24. // CWzdDoc construction/destruction
  25. CWzdDoc::CWzdDoc()
  26. {
  27. // TODO: add one-time construction code here
  28. }
  29. CWzdDoc::~CWzdDoc()
  30. {
  31. while (!m_list.IsEmpty())
  32. {
  33. delete m_list.RemoveHead();
  34. }
  35. }
  36. BOOL CWzdDoc::OnNewDocument()
  37. {
  38. if (!CDocument::OnNewDocument())
  39. return FALSE;
  40. int id=0;
  41. CWzdInfo *pDevInfo,*pFoldInfo,*pFileInfo;
  42. pDevInfo=new CWzdInfo("C:","C Drive",CWzdInfo::DEVICE,id++);
  43. m_list.AddTail(pDevInfo);
  44. m_pSelectionInfo=pDevInfo;
  45. pFoldInfo=new CWzdInfo("Winnt","Winnt directory",CWzdInfo::FOLDER,id++);
  46. pDevInfo->m_list.AddTail(pFoldInfo);
  47. pFileInfo=new CWzdInfo("file1.txt","the other file",CWzdInfo::FILE,id++);
  48. pFoldInfo->m_list.AddTail(pFileInfo);
  49. pFileInfo=new CWzdInfo("file.txt","the file",CWzdInfo::FILE,id++);
  50. pDevInfo->m_list.AddTail(pFileInfo);
  51. return TRUE;
  52. }
  53. /////////////////////////////////////////////////////////////////////////////
  54. // CWzdDoc serialization
  55. void CWzdDoc::Serialize(CArchive& ar)
  56. {
  57. if (ar.IsStoring())
  58. {
  59. // TODO: add storing code here
  60. }
  61. else
  62. {
  63. // TODO: add loading code here
  64. }
  65. }
  66. /////////////////////////////////////////////////////////////////////////////
  67. // CWzdDoc diagnostics
  68. #ifdef _DEBUG
  69. void CWzdDoc::AssertValid() const
  70. {
  71. CDocument::AssertValid();
  72. }
  73. void CWzdDoc::Dump(CDumpContext& dc) const
  74. {
  75. CDocument::Dump(dc);
  76. }
  77. #endif //_DEBUG
  78. /////////////////////////////////////////////////////////////////////////////
  79. // CWzdDoc commands
  80. void CWzdDoc::SaveSelection(CWzdInfo *pSelectionInfo,int nMode)
  81. {
  82. m_pSelectionInfo=pSelectionInfo;
  83. UpdateAllViews(NULL,nMode);
  84. }
  85. void CWzdDoc::OnIconMode() 
  86. {
  87. UpdateAllViews(NULL,ICON_LIST_VIEW);
  88. }
  89. void CWzdDoc::OnListMode() 
  90. {
  91. UpdateAllViews(NULL,LIST_LIST_VIEW);
  92. }
  93. void CWzdDoc::OnReportMode() 
  94. {
  95. UpdateAllViews(NULL,REPORT_LIST_VIEW);
  96. }
  97. void CWzdDoc::OnSmalliconMode() 
  98. {
  99. UpdateAllViews(NULL,SMALL_ICON_LIST_VIEW);
  100. }
  101. void CWzdDoc::OnUplevel() 
  102. {
  103. UpdateAllViews(NULL,TREE_VIEW_UP_LEVEL);
  104. }