📄 mytreeview.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 + -