⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mytreeview.cpp

📁 VC
💻 CPP
字号:
// MyTreeVIew.cpp : implementation file
//

#include "stdafx.h"
#include "MyEdit.h"
#include "MyTreeVIew.h"
#include "MyEditDoc.h"
#include "MainFrm.h"
#include "MyEditView.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMyTreeVIew

IMPLEMENT_DYNCREATE(CMyTreeVIew, CTreeView)

CMyTreeVIew::CMyTreeVIew()
{
}

CMyTreeVIew::~CMyTreeVIew()
{
}


BEGIN_MESSAGE_MAP(CMyTreeVIew, CTreeView)
	//{{AFX_MSG_MAP(CMyTreeVIew)
	ON_NOTIFY_REFLECT(TVN_ITEMEXPANDING, OnItemexpanding)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMyTreeVIew drawing

void CMyTreeVIew::OnDraw(CDC* pDC)
{
	CDocument* pDoc = GetDocument();
	// TODO: add draw code here
}

/////////////////////////////////////////////////////////////////////////////
// CMyTreeVIew diagnostics

#ifdef _DEBUG
void CMyTreeVIew::AssertValid() const
{
	CTreeView::AssertValid();
}

void CMyTreeVIew::Dump(CDumpContext& dc) const
{
	CTreeView::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CMyTreeVIew message handlers

void CMyTreeVIew::OnInitialUpdate() 
{
	CTreeView::OnInitialUpdate();
	  CTreeCtrl & MytreeView = GetTreeCtrl();
  MytreeView.ModifyStyle(NULL, WS_VISIBLE|WS_CHILD|WS_BORDER|TVS_HASLINES|TVS_LINESATROOT|TVS_HASBUTTONS|TVS_EDITLABELS);
  TVITEM tvItem;
  tvItem.mask=WS_VISIBLE|WS_CHILD|WS_BORDER|TVS_HASLINES|TVS_LINESATROOT|TVS_HASBUTTONS|TVS_LINESATROOT|TVS_HASBUTTONS;//TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE;
  tvItem.pszText="Root";
  tvItem.cchTextMax=4;
  tvItem.iImage=0;
  tvItem.iSelectedImage=0;
  TVINSERTSTRUCT tvInsert;
  tvInsert.hParent=TVI_ROOT;
  tvInsert.hInsertAfter=TVI_FIRST;
  tvInsert.item=tvItem;
  HTREEITEM hRoot=MytreeView.InsertItem(&tvInsert);

  tvItem.pszText="child Item 1";
  tvItem.cchTextMax=12;
  tvItem.iImage=1;
  tvItem.iSelectedImage=1;
  tvInsert.hParent=hRoot;
  tvInsert.hInsertAfter=TVI_FIRST;
  tvInsert.item=tvItem;
  HTREEITEM hChildItem=MytreeView.InsertItem(&tvInsert);

  tvItem.pszText="child Item 2";
  tvItem.cchTextMax=12;
  tvItem.iImage=2;
  tvItem.iSelectedImage=2;
  tvInsert.hParent=hChildItem;
  tvInsert.hInsertAfter=TVI_FIRST;
  tvInsert.item=tvItem;
  MytreeView.InsertItem(&tvInsert);

  tvItem.pszText="child Item 3";
  tvItem.cchTextMax=12;
  tvItem.iImage=1;
  tvItem.iSelectedImage=1;
  tvInsert.hParent=hRoot;
  tvInsert.hInsertAfter=TVI_LAST;
  tvInsert.item=tvItem;
  MytreeView.InsertItem(&tvInsert);

  tvItem.pszText="child Item 4";
  tvItem.cchTextMax=12;
  tvItem.iImage=1;
  tvItem.iSelectedImage=1;
  tvInsert.hParent=hRoot;
  tvInsert.hInsertAfter=TVI_LAST;
  tvInsert.item=tvItem;
  MytreeView.InsertItem(&tvInsert);
	// TODO: Add your specialized code here and/or call the base class
	
}
void CMyTreeVIew::OnItemexpanding(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
	CTreeCtrl & MytreeView = GetTreeCtrl();
	HTREEITEM index=TreeView_GetSelection(MytreeView);
	CMyEditDoc * pDoc=(class CMyEditDoc *)GetDocument();	
	if (TreeView_GetParent(MytreeView,index))
	{
		CMainFrame* MainFrame1=(CMainFrame*)this->GetParent()->GetParent(); 
        CMyEditView* View4=(CMyEditView*)MainFrame1->m_wndSplitter.GetPane(2,0); 
        pDoc->str1="Child Item 2";
		pDoc->str2="";
		pDoc->str3="";
		pDoc->str4="";
		View4->m_index();
	}
	else
	{
		CMainFrame* MainFrame1=(CMainFrame*)this->GetParent()->GetParent(); 
        CMyEditView* View4=(CMyEditView*)MainFrame1->m_wndSplitter.GetPane(2,0); 
		pDoc->str1="Child Item 1";
		pDoc->str2="Child Item 3";
		pDoc->str3="Child Item 4";
		pDoc->str4="";
		View4->m_index();
	}
	*pResult = 0;
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -