📄 setting.cpp
字号:
// Setting.cpp : implementation file
//
#include "stdafx.h"
#include "SmallChage.h"
#include "Setting.h"
#include "Coin.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSetting dialog
CSetting::CSetting(CWnd* pParent /*=NULL*/)
: CDialog(CSetting::IDD, pParent)
{
//{{AFX_DATA_INIT(CSetting)
m_Money = 0;
m_nAvailableNum = 0;
m_nFaceValue = 0;
m_nCoinsTypes = 0;
m_pMoney = new int;
m_pStrategy = new Strategy;
m_nStrategy = -1;
//}}AFX_DATA_INIT
}
void CSetting::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSetting)
DDX_Control(pDX, IDC_COMBO_STRATEGY, m_ctlStrategy);
DDX_Control(pDX, IDC_EDT_FACEVALUE, m_ctrlFaceValue);
DDX_Control(pDX, IDC_LISTCTR_COINS, m_ctrCoins);
DDX_Text(pDX, IDC_EDT_MONEY, m_Money);
DDV_MinMaxInt(pDX, m_Money, 0, 20001);
DDX_Text(pDX, IDC_EDT_NUM, m_nAvailableNum);
DDV_MinMaxInt(pDX, m_nAvailableNum, 0, 100);
DDX_Text(pDX, IDC_EDT_FACEVALUE, m_nFaceValue);
DDV_MinMaxInt(pDX, m_nFaceValue, 0, 100000);
DDX_CBIndex(pDX, IDC_COMBO_STRATEGY, m_nStrategy);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSetting, CDialog)
//{{AFX_MSG_MAP(CSetting)
ON_BN_CLICKED(IDC_BTN_OK, OnBtnOk)
ON_WM_CLOSE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSetting message handlers
BOOL CSetting::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
CenterWindow();
m_ctlStrategy.AddString("动态规划");
m_ctlStrategy.AddString("贪心策略");
m_ctlStrategy.SetCurSel(0);
m_ctrCoins.InsertColumn(0,"面值",LVCFMT_CENTER,100);
m_ctrCoins.InsertColumn(1,"数目",LVCFMT_CENTER,100);
CString strFaceValue, strAvailableNum;
CCoin* pCoin = new CCoin;
for (int nCoins = 0; nCoins < m_ptrCoins.GetSize(); nCoins++)
{
pCoin = (CCoin*)m_ptrCoins.GetAt(nCoins);
strFaceValue.Format("%d", pCoin->GetFaceValue());
strAvailableNum.Format("%d",pCoin->GetAvailableNum());
m_ctrCoins.InsertItem(nCoins,strFaceValue);
m_ctrCoins.SetItemText(nCoins,1,strAvailableNum);
}
// delete pCoin; //不可释放掉pCoin所指向的Coin对象
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CSetting::OnBtnOk()
{
// TODO: Add your control notification handler code here
UpdateData();
CCoin* pCoin = new CCoin(m_nFaceValue,m_nAvailableNum);
m_ptrCoins.Add(pCoin);
CString strFaceValue, strAvailableNum;
strFaceValue.Format("%d", m_nFaceValue);
strAvailableNum.Format("%d",m_nAvailableNum);
m_ctrCoins.InsertItem(m_nCoinsTypes,strFaceValue);
m_ctrCoins.SetItemText(m_nCoinsTypes++,1,strAvailableNum);
m_ctrlFaceValue.SetFocus();
m_ctrlFaceValue.SetSel(0,-1);
// GetNextDlgTabItem(GetFocus())->SetFocus();
// ((CEdit*)GetNextDlgTabItem(GetFocus()))->SetSel(0, -1);
// delete pCoin; //delete 会释放掉pCoin地址的Coin对象,从而p_ptrCoins保存的地址内无Coin对象 [10/26/2008 wkc]
}
void CSetting::OnClose()
{
// TODO: Add your message handler code here and/or call default
UpdateData();
m_pMoney = &m_Money;
m_nStrategy = m_ctlStrategy.GetCurSel();
m_pStrategy = (Strategy*)&m_nStrategy;
CDialog::OnClose();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -