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

📄 accounttreeview.cpp

📁 个人理财系统(管理股票信息)
💻 CPP
字号:
// AccountTreeView.cpp : implementation file
//

#include "stdafx.h"
#include "stocksystem.h"
#include "AccountTreeView.h"
#include "StockSystem.h"

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

/////////////////////////////////////////////////////////////////////////////
// CAccountTreeView

IMPLEMENT_DYNCREATE(CAccountTreeView, CTreeView)

CAccountTreeView::CAccountTreeView()
{
}

CAccountTreeView::~CAccountTreeView()
{
}

BEGIN_MESSAGE_MAP(CAccountTreeView, CTreeView)
	//{{AFX_MSG_MAP(CAccountTreeView)
	ON_NOTIFY_REFLECT(NM_DBLCLK, OnDblclk)
	ON_NOTIFY_REFLECT(TVN_SELCHANGED, OnSelchanged)
	ON_WM_RBUTTONDOWN()
	//}}AFX_MSG_MAP
	ON_MESSAGE(WM_UPDATETREE, updatTreeView)
	ON_MESSAGE(WM_UPDATETREEITEM, updateTreeItem)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAccountTreeView drawing

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

/////////////////////////////////////////////////////////////////////////////
// CAccountTreeView diagnostics

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

void CAccountTreeView::Dump(CDumpContext& dc) const
{
	CTreeView::Dump(dc);
}


#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CAccountTreeView message handlers

void CAccountTreeView::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult) 
{	
	*pResult = 0;	
	CStockSystemApp *pApp	= (CStockSystemApp *)AfxGetApp();
	CTreeCtrl	&my_tree = GetTreeCtrl();
	HTREEITEM selItem = my_tree.GetSelectedItem();
	CString title = my_tree.GetItemText(selItem);

	int len = pApp->UserInfoVect.size();
	for (int i=0; i<len; i++)
	{
		if (pApp->UserInfoVect[i].username == title)
		{
			if (pApp->UserInfoVect[i].loginstate == "1")
			{
				//表示已经登陆了
				return;
			}
			else
			{
				CPersonFrame *pframe = (CPersonFrame *)(GetParent()->GetParent());
				pframe->SendMessage(WM_SHOWINPUTPWDDLG, (WPARAM)&title, NULL);
			}
		}
	}	
}

void CAccountTreeView::OnInitialUpdate() 
{
	CTreeView::OnInitialUpdate();
	
	// TODO: Add your specialized code here and/or call the base class
	m_imagerlist.Create(IDB_TREE_LOGIN, 34, 20, RGB(0, 255, 0));
	CTreeCtrl		&my_tree = GetTreeCtrl();
	my_tree.SetImageList(&m_imagerlist, TVSIL_NORMAL);		
}

void CAccountTreeView::GetCurrentUser(CString &user)
{
	CTreeCtrl	&my_tree = GetTreeCtrl();
	HTREEITEM selItem = my_tree.GetSelectedItem();
	current_user = my_tree.GetItemText(selItem);
	user = current_user;
}

void CAccountTreeView::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
	//获取当前的用户名
	CTreeCtrl	&my_tree = GetTreeCtrl();
	HTREEITEM selItem = my_tree.GetSelectedItem();
	current_user = my_tree.GetItemText(selItem);
	*pResult = 0;
}

LONG CAccountTreeView::updatTreeView(WPARAM wParam, LPARAM lParam)
{
	CTreeCtrl	&my_tree = GetTreeCtrl();
	HTREEITEM	selItem  = my_tree.GetSelectedItem();
	CString *pstr		 = (CString *)wParam;
	int lparam			 = (int)lParam;
	if (*pstr == "更新窗口") 
	{
		my_tree.SetItemImage(selItem, 1, 1);
	}
	else if (*pstr == "关闭帐户")
	{
		my_tree.SetItemImage(selItem, 0, 0);
	}
	else if (*pstr == "删除账户")
	{
		HTREEITEM	selItem = my_tree.GetSelectedItem();
		my_tree.DeleteItem(selItem);
	}
	//表示新建帐户,图标设置为登录状态时的图标
	else if (lparam == 2)
	{
		my_tree.InsertItem(*pstr, 1, 1);
	//	my_tree.SetItemImage(selItem, 1, 1);
	}
	else
	{
		my_tree.InsertItem(*pstr);
	}
	return 0;
}

LONG CAccountTreeView::updateTreeItem(WPARAM wParam, LPARAM lParam)
{
	CString			*pstr	= (CString *)wParam;
	CTreeCtrl		&mytree  = GetTreeCtrl();
	HTREEITEM		selItem = mytree.GetSelectedItem();
	mytree.SetItemText(selItem, *pstr);
	return 0;
}

int CAccountTreeView::GetCurrentItem()
{
	CTreeCtrl		&mytree  = GetTreeCtrl();
	HTREEITEM		selItem = mytree.GetSelectedItem();
	int			item = (int)selItem;
	return item;
}
void CAccountTreeView::SetCurrentUser(CString &user)
{

}

void CAccountTreeView::OnRButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	CMenu		menu;
	if(!menu.LoadMenu(IDR_MENU)){
		MessageBox("加载菜单失败");
	}
	CMenu*    pM =  menu.GetSubMenu(0);
	CPoint pt ;
	GetCursorPos(&pt);
	pM->TrackPopupMenu(TPM_RIGHTALIGN |TPM_RIGHTBUTTON, pt.x, pt.y,GetParent()->GetParent());
}

⌨️ 快捷键说明

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