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

📄 allcashdlg.cpp

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

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






CAccount *pAccount2;
/////////////////////////////////////////////////////////////////////////////
// CAllCashDlg dialog


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


void CAllCashDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAllCashDlg)
	DDX_Control(pDX, IDC_LIST_ALLCASH, m_ctrAllCashList);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CAllCashDlg, CDialog)
	//{{AFX_MSG_MAP(CAllCashDlg)
	ON_NOTIFY(NM_DBLCLK, IDC_LIST_ALLCASH, OnDblclkListAllcash)
	ON_WM_PAINT()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAllCashDlg message handlers

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

	m_ctrAllCashList.DeleteAllItems();	
	//pCashIni = new CIniReader(L"\\Program Files\\理财能手\\Data\\帐户.ini");
	//pCashIni2 = new CIniReader(L"\\Program Files\\理财能手\\Data\\帐户.ini");

	pCashIni = new CIniReader(L"帐户.ini");
	pCashIni2 = new CIniReader(L"帐户.ini");
	pAccount2 = new CAccount();



	//装载和解析INI文件
	if(! pCashIni->Load())
	{
		::AfxMessageBox(L"Can not load ini");
		delete pCashIni;
		pCashIni = NULL;
		return FALSE;
	}
	
	if(! pCashIni->Parse())
	{
		::AfxMessageBox(L"Invalid format  ");
		delete pCashIni;
		pCashIni = NULL;
		return FALSE;
	}
	CSection	AccountInfo= (*pCashIni)[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(! pCashIni2->Load())
	{
		::AfxMessageBox(L"Can not load Account.ini");
		delete pCashIni2;
		pCashIni2 = NULL;
		return FALSE;
	}

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

	for(int i=0;i<m_iCount;i++)
	{
		CString	str;
		str.Format(L"%d",i);
		CSection	Info= (*pCashIni2)[str];
	
		POSITION pos = Info.m_item.GetStartPosition();
		
		while( pos != NULL )
		{
			String key;
			String value;
	
			Info.m_item.GetNextAssoc(pos, key, value);
			SetCash((CString)key,(CString)value);
		
		}
	
	
		if(pAccount2->Account_Type == (CString)"现金" ||pAccount2->Account_Type == (CString)"存款")
		{
			m_ctrAllCashList.AddItem(pAccount2->Account_Name,pAccount2->Account_Type,pAccount2->Account_MoneyType,pAccount2->Account_Amount);
		}

	}


}


/*************************************************
函数功能:根据帐户INI信息中的key 和 value

-------------------------------------------------
修改时间:2005-3-10
修改人:  宋雷
修改内容:根据key把value的信息填充到成员变量pAccount中。
*************************************************/
void CAllCashDlg::SetCash(CString key,CString value)
{
	if(key=="name")
		pAccount2->Account_Name = value;
	else
		if(key=="money_type")
			pAccount2->Account_MoneyType = value;
	else
		if(key=="date")
			pAccount2->Account_Date = value;
	else
		if(key=="amount")
		{
			pAccount2->Account_Amount= value;
		//	int amount=_wtoi(value);
		//	g_iSum +=amount ;
		}
	else
		if(key=="type")
			pAccount2->Account_Type = value;
}
/*************************************************
函数功能:响应用户对列表中某行的双击事件

-------------------------------------------------
修改时间:2005-3-6
修改人:  宋雷
修改内容:根据key把value的信息填充到成员变量pAccount中。
*************************************************/
void CAllCashDlg::OnDblclkListAllcash(NMHDR* pNMHDR, LRESULT* pResult) 
{
	
	POSITION	pos;
	pos = m_ctrAllCashList.GetFirstSelectedItemPosition();

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

void CAllCashDlg::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)));
}

⌨️ 快捷键说明

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