Tree2.cpp
上传用户:szcysw
上传日期:2013-03-11
资源大小:6752k
文件大小:2k
源码类别:

界面编程

开发平台:

Visual C++

  1. // Tree2.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "DevDemo.h"
  5. #include "Tree2.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CTree2
  13. IMPLEMENT_DYNCREATE(CTree2, CTreeView)
  14. CTree2::CTree2()
  15. {
  16. }
  17. CTree2::~CTree2()
  18. {
  19. }
  20. BEGIN_MESSAGE_MAP(CTree2, CTreeView)
  21. //{{AFX_MSG_MAP(CTree2)
  22. // NOTE - the ClassWizard will add and remove mapping macros here.
  23. //}}AFX_MSG_MAP
  24. END_MESSAGE_MAP()
  25. /////////////////////////////////////////////////////////////////////////////
  26. // CTree2 drawing
  27. void CTree2::OnDraw(CDC* pDC)
  28. {
  29. CDocument* pDoc = GetDocument();
  30. // TODO: add draw code here
  31. }
  32. /////////////////////////////////////////////////////////////////////////////
  33. // CTree2 diagnostics
  34. #ifdef _DEBUG
  35. void CTree2::AssertValid() const
  36. {
  37. CTreeView::AssertValid();
  38. }
  39. void CTree2::Dump(CDumpContext& dc) const
  40. {
  41. CTreeView::Dump(dc);
  42. }
  43. #endif //_DEBUG
  44. /////////////////////////////////////////////////////////////////////////////
  45. // CTree2 message handlers
  46. //修改标签窗口2的外观
  47. void CTree2::OnInitialUpdate() 
  48. {
  49. CTreeView::OnInitialUpdate();
  50. CTreeCtrl& m_pTreeCtrl=GetTreeCtrl( );
  51. CString msg;
  52. //为目录树建立图像列表
  53. m_ImageList.Create (IDB_IL_CLASS, 16, 1, RGB(0,255,0));
  54. m_pTreeCtrl.SetImageList (&m_ImageList, TVSIL_NORMAL);
  55. CString strTreeItems[] = { _T("项目"), _T("类名"), _T("Globals") };
  56. //加入根节点
  57. HTREEITEM htItem = m_pTreeCtrl.InsertItem(strTreeItems[0]);
  58. m_pTreeCtrl.SetItemState( htItem, TVIS_BOLD, TVIS_BOLD );
  59. //加入子节点
  60. for( int i = 1; i < 8; i++ ) 
  61. {
  62. msg.Format("%d",i);
  63. m_pTreeCtrl.InsertItem (strTreeItems[1]+msg, 1, 1, htItem, TVI_LAST);
  64. }
  65. //加入子节点2
  66. m_pTreeCtrl.InsertItem (strTreeItems[2], 2, 3, htItem, TVI_LAST);
  67. //展开目录
  68. m_pTreeCtrl.Expand(htItem, TVE_EXPAND);
  69. }
  70. BOOL CTree2::PreCreateWindow(CREATESTRUCT& cs) 
  71. {
  72. // TODO: Add your specialized code here and/or call the base class
  73.     cs.style|=TVS_HASLINES|TVS_LINESATROOT;
  74. return CTreeView::PreCreateWindow(cs);
  75. }
  76. BOOL CTree2::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext) 
  77. {
  78. // TODO: Add your specialized code here and/or call the base class
  79. return CWnd::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext);
  80. }