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

📄 sellrecorddlg.cpp

📁 这是一个加油站管理系统
💻 CPP
字号:
// SellRecordDlg.cpp : implementation file
//

#include "stdafx.h"
#include "gasstation.h"
#include "SellRecordDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CSellRecordDlg dialog


CSellRecordDlg::CSellRecordDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSellRecordDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSellRecordDlg)
	m_strDepot = _T("");
	m_strGasType = _T("");
	m_fAgio = 1.0f;
	m_fAmount = 0.0f;
	m_nMember = 0;
	m_fPrice = 0.0f;
	m_strTime = _T("");
	m_nWorker = 0;
	m_bIsMember = FALSE;
	//}}AFX_DATA_INIT
	m_time = CTime::GetCurrentTime();
	m_bValidMember = FALSE;
}


void CSellRecordDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSellRecordDlg)
	DDX_Control(pDX, IDC_COMBO_GAS_TYPE, m_cbGasType);
	DDX_Control(pDX, IDC_COMBO_DEPOT, m_cbDepot);
	DDX_CBString(pDX, IDC_COMBO_DEPOT, m_strDepot);
	DDX_CBString(pDX, IDC_COMBO_GAS_TYPE, m_strGasType);
	DDX_Text(pDX, IDC_EDIT_AGIO, m_fAgio);
	DDX_Text(pDX, IDC_EDIT_AMOUNT, m_fAmount);
	DDX_Text(pDX, IDC_EDIT_MEMBER, m_nMember);
	DDX_Text(pDX, IDC_EDIT_PRICE, m_fPrice);
	DDX_Text(pDX, IDC_EDIT_TIME, m_strTime);
	DDX_Text(pDX, IDC_EDIT_WORKER, m_nWorker);
	DDX_Check(pDX, IDC_CHECK_MEMBER, m_bIsMember);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSellRecordDlg, CDialog)
	//{{AFX_MSG_MAP(CSellRecordDlg)
	ON_WM_SHOWWINDOW()
	ON_BN_CLICKED(IDC_CHECK_MEMBER, OnCheckMember)
	ON_EN_UPDATE(IDC_EDIT_MEMBER, OnUpdateEditMember)
	ON_CBN_SELCHANGE(IDC_COMBO_GAS_TYPE, OnSelchangeComboGasType)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSellRecordDlg message handlers

void CSellRecordDlg::OnShowWindow(BOOL bShow, UINT nStatus) 
{
	CDialog::OnShowWindow(bShow, nStatus);
	
	// TODO: Add your message handler code here
	m_strTime = m_time.Format("%Y-%m-%d %H:%M:%S");

	CStringArray strName, strTemp;

	ADOSQLServer.GetDepots(strTemp, strName, strTemp, strTemp);
	for (int i=0;i<strName.GetSize();i ++) {
		m_cbDepot.AddString(strName.GetAt(i));
	}
	strName.RemoveAll();
	ADOSQLServer.GetGasTypes(strTemp, strName, strTemp);
	for (i=0;i<strName.GetSize();i ++) {
		m_cbGasType.AddString(strName.GetAt(i));
	}

	UpdateData(FALSE);
}

void CSellRecordDlg::OnCheckMember() 
{
	// TODO: Add your control notification handler code here
	UpdateData();

	m_fAgio = 1.0;
	if (!m_bIsMember) {
		GetDlgItem(IDC_EDIT_MEMBER)->EnableWindow(FALSE);
	}
	else {
		GetDlgItem(IDC_EDIT_MEMBER)->EnableWindow(TRUE);
	}
	UpdateData(FALSE);
}

void CSellRecordDlg::OnUpdateEditMember() 
{
	// TODO: If this is a RICHEDIT control, the control will not
	// send this notification unless you override the CDialog::OnInitDialog()
	// function to send the EM_SETEVENTMASK message to the control
	// with the ENM_UPDATE flag ORed into the lParam mask.
	
	UpdateData();
	CString strTemp;
	if (!ADOSQLServer.GetMemberAgio(m_nMember, m_fAgio)) {
		m_bValidMember = FALSE;
		m_fAgio = 1.0;
	}
	else {
		m_bValidMember = TRUE;
	}
	UpdateData(FALSE);

	// TODO: Add your control notification handler code here
	
}

void CSellRecordDlg::OnOK() 
{
	// TODO: Add extra validation here
	UpdateData();

	if (m_strGasType.IsEmpty() ||
		m_strDepot.IsEmpty() ||
		m_fAmount <= 0 ||
		m_fPrice <= 0 )
	{
		MB_ERROR("销售信息有误,请重新输入!");
		return ;
	}

	if (!m_bValidMember || !m_bIsMember) {
		m_nMember = 0;
	}
	
	CDialog::OnOK();
}

void CSellRecordDlg::OnSelchangeComboGasType() 
{
	// TODO: Add your control notification handler code here
	UpdateData();

	int nNumber;
	if (!ADOSQLServer.GetGasTypeByName(m_strGasType, nNumber, m_fPrice)) {
		m_fPrice = 0.00;
	}

	UpdateData(FALSE);
}

⌨️ 快捷键说明

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