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

📄 checkoutdialog.cpp

📁 网吧管理系统VC源码
💻 CPP
字号:
// CheckOutDialog.cpp : implementation file
//

#include "stdafx.h"
#include "Server.h"
#include "CheckOutDialog.h"
#include "math.h"
#include "DaoSaledFood.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CCheckOutDialog dialog


CCheckOutDialog::CCheckOutDialog(CWnd* pParent /*=NULL*/)
	: CDialog(CCheckOutDialog::IDD, pParent)
{
	//{{AFX_DATA_INIT(CCheckOutDialog)
	m_editActualPay = _T("");
	m_editBak = _T("");
	//}}AFX_DATA_INIT
}


void CCheckOutDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CCheckOutDialog)
	DDX_Control(pDX, IDC_FOOD_LIST, m_CtrlList);
	DDX_Control(pDX, IDC_STATIC_NETPAY, m_staticNetPay);
	DDX_Control(pDX, IDC_STATIC_COUNT_PAY, m_staticCountPay);
	DDX_Control(pDX, IDC_STATIC_ADDTIONALPAY, m_staticAddFree);
	DDX_Control(pDX, IDC_STATIC_PREPAY, m_staticPrePay);
	DDX_Control(pDX, IDC_STATIC_TOTAL_TIME, m_staticTotalTime);
	DDX_Control(pDX, IDC_STATIC_START_TIME, m_staticStartTime);
	DDX_Control(pDX, IDC_STATIC_NAME, m_staticName);
	DDX_Control(pDX, IDC_STATIC_END_TIME, m_staticEndTime);
	DDX_Control(pDX, IDC_STATIC_CARD_NUM, m_staticCardNum);
	DDX_Text(pDX, IDC_EDIT_ACTUAL_PAY, m_editActualPay);
	DDV_MaxChars(pDX, m_editActualPay, 10);
	DDX_Text(pDX, IDC_EDIT_BAK, m_editBak);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CCheckOutDialog, CDialog)
	//{{AFX_MSG_MAP(CCheckOutDialog)
	ON_WM_CTLCOLOR()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCheckOutDialog message handlers
//锁定计算机,不做任何操作\0重新启动计算机\0关闭计算机

BOOL CCheckOutDialog::OnInitDialog() 
{
	CDialog::OnInitDialog();
		
	this->m_staticName.SetWindowText(this->m_strName);
    this->m_staticStartTime.SetWindowText(this->m_strStartTime);
	
	this->m_staticEndTime.SetWindowText(this->m_strEndTime);
	this->m_staticCardNum.SetWindowText(this->m_strCardNum);

	if(m_strCardNum != "" && m_strCardNum != "管理员")
	{
		GetDlgItem(IDC_EDIT_ACTUAL_PAY)->EnableWindow(false);
	}

	this->m_staticNetPay.SetWindowText(this->m_strNetPay);
	this->m_staticPrePay.SetWindowText(this->m_strPrePay);
	this->m_staticTotalTime.SetWindowText(this->m_strTotalTime);
	this->m_staticAddFree.SetWindowText(this->m_strAddtionalFree);
	float fTemp = (float)((atof(this->m_strNetPay) + atof(this->m_strAddtionalFree)) - atof(this->m_strPrePay));

	CString str;
	str.Format("%.1f",fTemp);
	this->m_staticCountPay.SetWindowText(str);
	UpdateData(false);

	char * ItemName[] ={ "商品名称", "单价(元)", "数 量", "总价(元)"};
	LV_COLUMN lv;
	HICON hIcon = ::LoadIcon(AfxGetApp()->m_hInstance, 
								 MAKEINTRESOURCE(IDI_UNKNOW));

	m_CtrlList.ModifyStyle(NULL, LVS_REPORT);
	int nColumnCount = m_CtrlList.GetHeaderCtrl()->GetItemCount();

	for (int i=0;i < nColumnCount;i++)
	{
		m_CtrlList.DeleteColumn(0);
	}

    lv.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH ;
    lv.fmt = LVCFMT_LEFT ;
	
	for (i = 0; i < 4; i++)
	{
		lv.cx =  5 * m_CtrlList.GetStringWidth(ItemName[i]) / 3;
		lv.pszText = ItemName[i];
		m_CtrlList.InsertColumn(i, &lv);
	}
	m_CtrlList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
	m_CtrlList.ModifyStyleEx(0, WS_EX_CLIENTEDGE);	

	CDaoSaledFood m_daoSaledFood;
	m_daoSaledFood.m_strFilter = "[机器名称]=\"";
	m_daoSaledFood.m_strFilter += m_strComputerName;
	m_daoSaledFood.m_strFilter += '\"';
	m_daoSaledFood.Open();
	if (!(m_daoSaledFood.IsBOF() && m_daoSaledFood.IsEOF()))
	{
		m_daoSaledFood.MoveLast();
		int nCount = m_daoSaledFood.GetRecordCount();
		m_daoSaledFood.MoveFirst();
		int nIndex = 0;
		for (int i = 0; i < nCount; i++)
		{
			m_CtrlList.InsertItem(i,m_daoSaledFood.m_FoodName);
			CString str;
			str.Format("%.1f",m_daoSaledFood.m_fPrice);
			m_CtrlList.SetItemText(i, 1, str);
			str.Format("%d",m_daoSaledFood.m_nCount);
			m_CtrlList.SetItemText(i, 2, str);
			float nFree = m_daoSaledFood.m_fPrice * m_daoSaledFood.m_nCount;
			str.Format("%.1f", nFree);
			m_CtrlList.SetItemText(i, 3, str);
			m_daoSaledFood.MoveNext();
		}
	}
	return TRUE;  
}


HBRUSH CCheckOutDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
	
    if(m_staticName.m_hWnd == pWnd->m_hWnd ||
		m_staticStartTime.m_hWnd == pWnd->m_hWnd ||
		m_staticEndTime.m_hWnd == pWnd->m_hWnd ||
		m_staticPrePay.m_hWnd == pWnd->m_hWnd ||
		m_staticNetPay.m_hWnd == pWnd->m_hWnd ||
		m_staticTotalTime.m_hWnd == pWnd->m_hWnd ||
		m_staticCardNum.m_hWnd == pWnd->m_hWnd ||
		m_staticAddFree.m_hWnd == pWnd->m_hWnd ||
		m_staticCountPay.m_hWnd == pWnd->m_hWnd)
	{
		pDC->SetTextColor(RGB(250,0,238));
	}
	return hbr;
}


void CCheckOutDialog::OnOK() 
{
	UpdateData(true);
	float fFree = (float)(atof(this->m_editActualPay) -((atof(this->m_strNetPay) + atof(this->m_strAddtionalFree)) - atof(this->m_strPrePay))); 
	CString str;
	str.Format("%.1f",fFree);
	CDialog::OnOK();
	if(fFree != 0.0 && this->m_strCardNum == "")
		AfxMessageBox("向客户找零:" + str + "元", MB_ICONINFORMATION | MB_OK);

	CDaoSaledFood m_daoSaledFood;
	m_daoSaledFood.m_strFilter = "[机器名称]=\"";
	m_daoSaledFood.m_strFilter += m_strComputerName;
	m_daoSaledFood.m_strFilter += '\"';
	m_daoSaledFood.Open();
	if (!(m_daoSaledFood.IsBOF() && m_daoSaledFood.IsEOF()))
	{
		m_daoSaledFood.MoveLast();
		int nCount = m_daoSaledFood.GetRecordCount();
		m_daoSaledFood.MoveFirst();
		for (int i = 0; i < nCount; i++)
		{
			m_daoSaledFood.Delete();
			m_daoSaledFood.MoveNext();
		}
	}
	m_daoSaledFood.Close();
}

⌨️ 快捷键说明

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