mytreectrl.cpp

来自「使用vc开发的个人信息管理系统」· C++ 代码 · 共 147 行

CPP
147
字号
// MYTreeCtrl.cpp : implementation file
//

#include "stdafx.h"
#include "dotNET界面.h"
#include "dotNET界面Doc.h"
#include "dotNET界面View.h"
#include "MainFrm.h"
#include "MYTreeCtrl.h"
#include "SearchResult.h"
#include "MyFolder.h"

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

/////////////////////////////////////////////////////////////////////////////
// MYTreeCtrl

MYTreeCtrl::MYTreeCtrl()

{
		m_uFlags=0;
}

MYTreeCtrl::~MYTreeCtrl()
{
}


BEGIN_MESSAGE_MAP(MYTreeCtrl, CTreeCtrl)
	//{{AFX_MSG_MAP(MYTreeCtrl)
	ON_WM_LBUTTONDOWN()
	ON_WM_CONTEXTMENU()
	ON_COMMAND(ID_ADDFILESTREE, OnAddfilestree)
	ON_UPDATE_COMMAND_UI(ID_ADDFILESTREE, OnUpdateAddfilestree)
	ON_COMMAND(ID_ADDNODETREE, OnAddnodetree)
	ON_UPDATE_COMMAND_UI(ID_ADDNODETREE, OnUpdateAddnodetree)
	ON_COMMAND(ID_UPDATENODETREE, OnUpdatenodetree)
	ON_UPDATE_COMMAND_UI(ID_UPDATENODETREE, OnUpdateUpdatenodetree)
	ON_COMMAND(ID_DELETENODETREE, OnDeletenodetree)
	ON_UPDATE_COMMAND_UI(ID_DELETENODETREE, OnUpdateDeletenodetree)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// MYTreeCtrl message handlers

void MYTreeCtrl::OnLButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	CMyFolder Node;
	CDotNETApp * App=(CDotNETApp *)AfxGetApp();
	CDotNETView* p = (CDotNETView*)(((CMainFrame*)AfxGetMainWnd())->GetActiveView());
	//_RecordsetPtr MySet;
	//_variant_t Holder;
	//MySet.CreateInstance(__uuidof(Recordset));
	hItem =HitTest(point, &m_uFlags);
	App->m_AddNode=true;
	for(int i=0;i<MyNodes.size();i++){
		Node=MyNodes[i];
		if(hItem==Node.GetItem()){
			SelectNode=Node;
			p->ShowItem=Node.GetItem();
			HTREEITEM PHItem=GetParentItem(Node.GetItem());
			CString strHead=GetItemText(PHItem);
			App->pDlg->AddSelectNodeInfo(Node,Node.GetfolderName(),strHead,Node.GetfolderType(),Node.GetfolderAttachment());
			if(Node.GetfolderType()=="1"){
				p->m_Title=Node.GetfolderId();
				p->m_TitleName=Node.GetfolderName();
				p->CreateMyEdit();
			}else{
				p->DelectMyEdit();
			}
		}
	}
	CTreeCtrl::OnLButtonDown(nFlags, point);
}

void MYTreeCtrl::OnContextMenu(CWnd* pWnd, CPoint point) 
{
	// TODO: Add your message handler code here
	CMenu menu;
	menu.LoadMenu(IDR_MENUTREECTRL);
	CMenu* pMenu=menu.GetSubMenu(0);
	pMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_RIGHTBUTTON,point.x,point.y,this);

}

void MYTreeCtrl::OnAddfilestree() 
{
	// TODO: Add your command handler code here
	CMainFrame * cmf=(CMainFrame *) AfxGetMainWnd();
	cmf->OnAddfiles();
}

void MYTreeCtrl::OnUpdateAddfilestree(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	CMainFrame * cmf=(CMainFrame *) AfxGetMainWnd();
	cmf->OnUpdateAddfiles(pCmdUI);
}

void MYTreeCtrl::OnAddnodetree() 
{
	// TODO: Add your command handler code here
	CMainFrame * cmf=(CMainFrame *) AfxGetMainWnd();
	cmf->OnAddnode();
}

void MYTreeCtrl::OnUpdateAddnodetree(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	CMainFrame * cmf=(CMainFrame *) AfxGetMainWnd();
	cmf->OnUpdateAddnode(pCmdUI);
}

void MYTreeCtrl::OnUpdatenodetree() 
{
	// TODO: Add your command handler code here
	CMainFrame * cmf=(CMainFrame *) AfxGetMainWnd();
	cmf->OnUpdatenode();
}

void MYTreeCtrl::OnUpdateUpdatenodetree(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	CMainFrame * cmf=(CMainFrame *) AfxGetMainWnd();
	cmf->OnUpdateUpdatenode(pCmdUI);
}

void MYTreeCtrl::OnDeletenodetree() 
{
	// TODO: Add your command handler code here
	CMainFrame * cmf=(CMainFrame *) AfxGetMainWnd();
	cmf->OnDeletenode();
}

void MYTreeCtrl::OnUpdateDeletenodetree(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	CMainFrame * cmf=(CMainFrame *) AfxGetMainWnd();
	cmf->OnUpdateDeletenode(pCmdUI);
}

⌨️ 快捷键说明

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