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

📄 allassetdlg.cpp

📁 该项目是为PPC(PocketPc)使用者提供方便的理财事务.如,现金的借贷,债务处理,证券买卖,以及物品管 理等等。该项目的主要用户群是:PPC使用者.
💻 CPP
字号:
// AllAssetDlg.cpp : implementation file
//

#include "stdafx.h"
#include "MoneyAnyWhere.h"
#include "AllAssetDlg.h"
#include "MoneyAnyWhereView.h"
#include "Account.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif



/////////////////////////////////////////////////////////////////////////////
// CAllAssetDlg dialog


CAllAssetDlg::CAllAssetDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CAllAssetDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CAllAssetDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	m_pParent = pParent ;
}


void CAllAssetDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAllAssetDlg)
	DDX_Control(pDX, IDC_LIST_ALLASSET, m_ctrAllAssetList);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CAllAssetDlg, CDialog)
	//{{AFX_MSG_MAP(CAllAssetDlg)
	ON_WM_PAINT()
	ON_NOTIFY(NM_DBLCLK, IDC_LIST_ALLASSET, OnDblclkListAllasset)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAllAssetDlg message handlers



BOOL CAllAssetDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	//改变列表的背景色
	m_ctrAllAssetList.SetBkColor(COLORREF(RGB(251,251,249)));
	m_ctrAllAssetList.SetExtendedStyle(LVS_EX_FULLROWSELECT);//|LVS_EX_GRIDLINES);
	//设置表头格式为Account/Name/Date
	m_ctrAllAssetList.SetHeadings(_T("帐户名,60;帐户类型,60;币种,60;金额,60"));
	//宽度设置
	m_ctrAllAssetList.SetColumnWidth(0,80);
	m_ctrAllAssetList.SetColumnWidth(1,40);
	m_ctrAllAssetList.SetColumnWidth(2,50);
	m_ctrAllAssetList.SetColumnWidth(3,70);
	//m_ctrAllAssetList.SetColumnWidth(3,70);

	//设置背景色,列向索引/横向索引/字体颜色/字体背景色
//	m_ctrAllCashList.SetItemColor(0,1,RGB(255,0,0),RGB(90,125,90));
	
	
	if(!Init())
		return false;
	
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}


BOOL CAllAssetDlg::Init()
{

	m_ctrAllAssetList.DeleteAllItems();	

//	pAssetIni = new CIniReader(L"\\Program Files\\理财能手\\Data\\帐户.ini");
//	pAssetIni2 = new CIniReader(L"\\Program Files\\理财能手\\Data\\帐户.ini");

	pAssetIni = new CIniReader(L"帐户.ini");
	pAssetIni2 = new CIniReader(L"帐户.ini");
	pAccountAss = new CAccount();



	//装载和解析INI文件
	if(! pAssetIni->Load())
	{
		::AfxMessageBox(L"Can not load ini");
		delete pAssetIni;
		pAssetIni = NULL;
		return FALSE;
	}
	
	if(! pAssetIni->Parse())
	{
		::AfxMessageBox(L"Invalid format  ");
		delete pAssetIni;
		pAssetIni = NULL;
		return FALSE;
	}
	CSection	AccountInfo= (*pAssetIni)[L"Info"];
	POSITION _pos = AccountInfo.m_item.GetStartPosition();

	while( _pos != NULL)
	{
		String _key;
		String _value;

		AccountInfo.m_item.GetNextAssoc(_pos, _key, _value);
		if((CString)_key==(CString)"account_count") //获得一共有多少帐户
		{
			m_iCount = _wtoi(_value);
		}	
	}


	//CSection Info[MAX];
	//装载和解析INI文件
	if(! pAssetIni2->Load())
	{
		::AfxMessageBox(L"Can not load Account.ini");
		delete pAssetIni2;
		pAssetIni2 = NULL;
		return FALSE;
	}

	if(! pAssetIni2->Parse())
	{
		::AfxMessageBox(L"Invalid format :Account.ini");
		delete pAssetIni2;
		pAssetIni2 = NULL;
		return FALSE;
	}
	//AfxMessageBox(pAccountIni->GetFilePath());

	for(int i=0;i<m_iCount;i++)
	{
		CString	str;
		str.Format(L"%d",i);
		CSection	Info= (*pAssetIni2)[str];
	
		POSITION pos = Info.m_item.GetStartPosition();
		
		while( pos != NULL )
		{
			String key;
			String value;
	
			Info.m_item.GetNextAssoc(pos, key, value);
			SetAsset((CString)key,(CString)value);
		
		}
	
		if(pAccountAss->Account_Type == (CString)"债权债务")
		{
			m_ctrAllAssetList.AddItem(pAccountAss->Account_Name,pAccountAss->Account_Type,pAccountAss->Account_MoneyType,pAccountAss->Account_Amount);
		}
	}


}

void CAllAssetDlg::SetAsset(CString key,CString value)
{
	if(key=="name")
		pAccountAss->Account_Name = value;
	else
		if(key=="money_type")
			pAccountAss->Account_MoneyType = value;
	else
		if(key=="date")
			pAccountAss->Account_Date = value;
	else
		if(key=="amount")
		{
			pAccountAss->Account_Amount= value;
		//	int amount=_wtoi(value);
		//	g_iSum +=amount ;
		}
	else
		if(key=="type")
			pAccountAss->Account_Type = value;
}

void CAllAssetDlg::OnPaint() 
{

	
	Init();
	
	CPaintDC dc(this); // device context for painting
	CRect	rect;
	this->GetClientRect(&rect);
	CBrush	*pBrush = new CBrush(COLORREF(RGB(227,234,206)));
	dc.FillRect(rect,pBrush);	
	dc.SetBkColor(COLORREF(RGB(227,234,206)));
}

void CAllAssetDlg::OnDblclkListAllasset(NMHDR* pNMHDR, LRESULT* pResult) 
{
	POSITION	pos;
	pos = m_ctrAllAssetList.GetFirstSelectedItemPosition();

	int Select= m_ctrAllAssetList.GetNextSelectedItem(pos);
	//如果单击空白处
	if(Select==-1)
		return;
	//测试一下
	CString	str,Info;
	str.Format(L"%d",Select );
	Info = L"You Choose the "+str;
	Info+= m_ctrAllAssetList.GetItemText(Select,0);
	Info+= m_ctrAllAssetList.GetItemText(Select,1);
	Info+= m_ctrAllAssetList.GetItemText(Select,2);
	//AfxMessageBox(m_ctrAccountList.GetItemText(Select,0));
	//跳转,同时将该列的信息传过去


//	if(m_ctrAllAssetList.GetItemText(Select,1) == "物品")
//		((CMoneyAnyWhereView*)m_pParent)->DisplayDlgGoods(m_ctrAllAssetList.GetItemText(Select,0));
	if(m_ctrAllAssetList.GetItemText(Select,1) == "债权债务")
		((CMoneyAnyWhereView*)m_pParent)->DisplayDlgAsset(m_ctrAllAssetList.GetItemText(Select,0));

	*pResult = 0;
}

⌨️ 快捷键说明

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