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

📄 allstockdlg.cpp

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

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



CStock *pStock;
/////////////////////////////////////////////////////////////////////////////
// CAllStockDlg dialog


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


void CAllStockDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAllStockDlg)
	DDX_Control(pDX, IDC_LIST_STOCK, m_ctrAllStockList);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CAllStockDlg, CDialog)
	//{{AFX_MSG_MAP(CAllStockDlg)
	ON_NOTIFY(NM_DBLCLK, IDC_LIST_STOCK, OnDblclkListStock)
	ON_WM_PAINT()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAllStockDlg message handlers

void CAllStockDlg::OnDblclkListStock(NMHDR* pNMHDR, LRESULT* pResult) 
{	
	POSITION	pos;
	pos = m_ctrAllStockList.GetFirstSelectedItemPosition();

	int Select= m_ctrAllStockList.GetNextSelectedItem(pos);
	//如果单击空白处
	if(Select==-1)
		return;
	//测试一下
	CString	str,Info;
	str.Format(L"%d",Select );
	Info = L"You Choose the "+str;
	Info+= m_ctrAllStockList.GetItemText(Select,0);
	Info+= m_ctrAllStockList.GetItemText(Select,1);
	Info+= m_ctrAllStockList.GetItemText(Select,2);

	if(m_ctrAllStockList.GetItemText(Select,1) == "证券")
		((CMoneyAnyWhereView*)m_pParent)->DisplayDlgStock(m_ctrAllStockList.GetItemText(Select,0));
	
	
	*pResult = 0;
}

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

void CAllStockDlg::OnPaint() 
{
	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)));
	Init();	
}


BOOL CAllStockDlg::Init()
{

	m_ctrAllStockList.DeleteAllItems();	

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

	pStockIni = new CIniReader(L"帐户.ini");
	pStockIni2 = new CIniReader(L"帐户.ini");
	pStock = new CStock();



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

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

	for(int i=0;i<m_iCount;i++)
	{
		CString	str;
		str.Format(L"%d",i);
		CSection	Info= (*pStockIni2)[str];
	
		POSITION pos = Info.m_item.GetStartPosition();
		
		while( pos != NULL )
		{
			String key;
			String value;
	
			Info.m_item.GetNextAssoc(pos, key, value);
			SetStock((CString)key,(CString)value);
		
		}
	
	
		if(pStock->Account_Type == (CString)"证券")
		{
			m_ctrAllStockList.AddItem(pStock->Account_Name,pStock->Account_Type,pStock->Account_MoneyType,pStock->Account_Amount);
		}

	}


}


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

-------------------------------------------------
修改时间:2005-3-10
修改人:  宋雷
修改内容:根据key把value的信息填充到成员变量pStock中。
*************************************************/
void CAllStockDlg::SetStock(CString key,CString value)
{
	if(key=="name")
		pStock->Account_Name = value;
	else
		if(key=="money_type")
			pStock->Account_MoneyType = value;
	else
		if(key=="date")
			pStock->Account_Date = value;
	else
		if(key=="amount")
		{
			pStock->Account_Amount= value;
		}
	else
		if(key=="type")
			pStock->Account_Type = value;
}

⌨️ 快捷键说明

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