📄 makestockdealbuyin.cpp
字号:
// MakeStockDealBuyIn.cpp : implementation file
//
#include "stdafx.h"
#include "MoneyAnyWhere.h"
#include "MakeStockDealBuyIn.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMakeStockDealBuyIn dialog
CMakeStockDealBuyIn::CMakeStockDealBuyIn(CWnd* pParent /*=NULL*/)
: CDialog(CMakeStockDealBuyIn::IDD, pParent)
{
//{{AFX_DATA_INIT(CMakeStockDealBuyIn)
m_strStockCode = _T("");
m_iBuyinAmount = 0;
m_fPrice = 0.0f;
m_strStockAccount = _T("");
//}}AFX_DATA_INIT
}
void CMakeStockDealBuyIn::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMakeStockDealBuyIn)
DDX_Control(pDX, IDC_COMBO_STOCKNAME, m_ctrComBox);
DDX_CBString(pDX, IDC_COMBO_STOCKNAME, m_strStockName);
DDX_Text(pDX, IDC_EDIT_BUYINAMOUNT, m_iBuyinAmount);
DDX_Text(pDX, IDC_EDIT_PRICE, m_fPrice);
DDX_Text(pDX, IDC_EDIT_STOCKACCOUNT, m_strStockAccount);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CMakeStockDealBuyIn, CDialog)
//{{AFX_MSG_MAP(CMakeStockDealBuyIn)
ON_BN_CLICKED(IDC_BTNOK, OnBtnok)
ON_BN_CLICKED(IDC_BTNCANEL, OnBtncanel)
ON_BN_CLICKED(IDC_BTNHELP, OnBtnhelp)
ON_EN_SETFOCUS(IDC_EDIT_PRICE, OnSetfocusEditPrice)
ON_EN_KILLFOCUS(IDC_EDIT_PRICE, OnKillfocusEditPrice)
ON_EN_SETFOCUS(IDC_EDIT_BUYINAMOUNT, OnSetfocusEditBuyinamount)
ON_EN_KILLFOCUS(IDC_EDIT_BUYINAMOUNT, OnKillfocusEditBuyinamount)
ON_WM_PAINT()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMakeStockDealBuyIn message handlers
BOOL CMakeStockDealBuyIn::OnInitDialog()
{
CDialog::OnInitDialog();
if(!Init())
return false;
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CMakeStockDealBuyIn::OnBtnok()
{
UpdateData(true);
GetDlgItemText(IDC_DATETIMEPICKER_DEALDATE,m_strDealTime);
m_strStockCode = Query(m_strStockName);
CDialog::OnOK();
}
void CMakeStockDealBuyIn::OnBtncanel()
{
CDialog::OnCancel();
}
void CMakeStockDealBuyIn::OnBtnhelp()
{
}
/*************************************************
函数功能:初始化INI文件
-------------------------------------------------
修改时间:2005-3-12
修改人: 宋雷
修改内容:m_pStockCodeIni和m_pStockCodeIni的初始化,同时将信息增加到ComboBox中
*************************************************/
BOOL CMakeStockDealBuyIn::Init()
{
//m_ctrComboBox.DeleteAllItems();
// m_pStockCodeIni = new CIniReader(L"\\Program Files\\理财能手\\Data\\Stock.ini");
// m_pStockCodeIni2 = new CIniReader(L"\\Program Files\\理财能手\\Data\\Stock.ini");
m_pStockCodeIni = new CIniReader(L"Stock.ini");
m_pStockCodeIni2 = new CIniReader(L"Stock.ini");
CString strType;
//装载和解析INI文件
if(! m_pStockCodeIni->Load())
{
::AfxMessageBox(L"Can not load ini");
delete m_pStockCodeIni;
m_pStockCodeIni = NULL;
return FALSE;
}
if(! m_pStockCodeIni->Parse())
{
::AfxMessageBox(L"Invalid format ");
delete m_pStockCodeIni;
m_pStockCodeIni = NULL;
return FALSE;
}
CSection TypeInfo= (*m_pStockCodeIni)[L"Info"];
POSITION _pos = TypeInfo.m_item.GetStartPosition();
while( _pos != NULL)
{
String _key;
String _value;
TypeInfo.m_item.GetNextAssoc(_pos, _key, _value);
if((CString)_key==(CString)"Stock_count") //获得该现金帐户一共有多少笔交易
{
m_iTypeCount = _wtoi(_value);
}
}
if(! m_pStockCodeIni2->Load())
{
::AfxMessageBox(L"Can not load ini");
delete m_pStockCodeIni2;
m_pStockCodeIni2 = NULL;
return FALSE;
}
if(! m_pStockCodeIni2->Parse())
{
::AfxMessageBox(L"Invalid format ini");
delete m_pStockCodeIni2;
m_pStockCodeIni2 = NULL;
return FALSE;
}
//AfxMessageBox(m_pAccountIni->GetFilePath());
for(int i=0;i<m_iTypeCount;i++)
{
CString str;
str.Format(L"%d",i);
CSection Info= (*m_pStockCodeIni2)[str];
POSITION pos = Info.m_item.GetStartPosition();
while( pos != NULL )
{
String key;
String value;
// Get key ( string ) and value ( string )
Info.m_item.GetNextAssoc(pos, key, value);
if(key == "name")
strType = value ;
}
m_ctrComBox.InsertString(i,strType);
}
}
/*************************************************
函数功能:根据收支类型返回是支出,还是收入
-------------------------------------------------
修改时间:2005-3-12
修改人: 宋雷
修改内容:根据收支类型返回是支出,还是收入
*************************************************/
CString CMakeStockDealBuyIn::Query(CString strDealType)
{
int iPos =0;
CString str,str2;
for(int i=0;i<m_iTypeCount;i++)
{
str.Format(L"%d",i);
CSection Info= (*m_pStockCodeIni2)[str];
POSITION pos = Info.m_item.GetStartPosition();
while( pos != NULL )
{
String key;
String value;
// Get key ( string ) and value ( string )
Info.m_item.GetNextAssoc(pos, key, value);
if((key == "name") && ((CString)value == strDealType))
{
iPos = i;
}
}
}
str.Format(L"%d",iPos);
(*m_pStockCodeIni2)[str].m_item.Lookup(L"code",str2);
return str2;
}
void CMakeStockDealBuyIn::OnSetfocusEditPrice()
{
SHSipPreference(m_hWnd, SIP_UP);
// TODO: Add your control notification handler code here
}
void CMakeStockDealBuyIn::OnKillfocusEditPrice()
{
SHSipPreference(m_hWnd, SIP_DOWN);
// TODO: Add your control notification handler code here
}
void CMakeStockDealBuyIn::OnSetfocusEditBuyinamount()
{
SHSipPreference(m_hWnd, SIP_UP);
// TODO: Add your control notification handler code here
}
void CMakeStockDealBuyIn::OnKillfocusEditBuyinamount()
{
SHSipPreference(m_hWnd, SIP_DOWN);
// TODO: Add your control notification handler code here
}
void CMakeStockDealBuyIn::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)));
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -