📄 mainfrm.cpp
字号:
// MainFrm.cpp : implementation of the CMainFrame class
//
#include "stdafx.h"
#include "SupermarketCahsier.h"
#include "SupermarketCahsierView.h"
#include "MainFrm.h"
#include "HelpDlg.h"
#include "TradeDlg.h"
#include "CashierLogDlg.h"
#include "CashierOperationDLg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMainFrame
IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_COMMAND(ID_CASHIER_LOGOFF, OnCashierLogoff)
ON_COMMAND(ID_CASHIER_EDIT, OnCashierEdit)
ON_COMMAND(ID_CASHIER_DELETE, OnCashierDelete)
ON_COMMAND(ID_CASHIER_ADD, OnCashierAdd)
ON_COMMAND(ID_CASHIER_QUERY, OnCashierQuery)
ON_COMMAND(ID_CUSTOMER_ADD, OnCustomerAdd)
ON_COMMAND(ID_CUSTOMER_DELETE, OnCustomerDelete)
ON_COMMAND(ID_CUSTOMER_EDIT, OnCustomerEdit)
ON_COMMAND(ID_CUSTOMER_QUERY, OnCustomerQuery)
ON_COMMAND(ID_CASHINFO_ADD, OnCashinfoAdd)
ON_COMMAND(ID_CASHINFO_QUERY, OnCashinfoQuery)
ON_COMMAND(ID_GOODS_ADD, OnGoodsAdd)
ON_COMMAND(ID_GOODS_DELETE, OnGoodsDelete)
ON_COMMAND(ID_GOODS_EDIT, OnGoodsEdit)
ON_COMMAND(ID_GOODS_QUERY, OnGoodsQuery)
ON_COMMAND(ID_TRADEINFO_ADD, OnTradeinfoAdd)
ON_COMMAND(ID_TRADEINFO_QUERY, OnTradeinfoQuery)
ON_COMMAND(ID_HELP, OnHelp)
ON_COMMAND(ID_ABOUT, OnAbout)
ON_COMMAND(ID_APP_EXIT, OnAppExit)
ON_COMMAND(ID_TRADE, OnTrade)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
static UINT indicators[] =
{
ID_SEPARATOR, // status line indicator
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
};
/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction
CMainFrame::CMainFrame()
{
// TODO: add member initialization code here
m_dCashMoney = 0;
m_bCashinfoSave = FALSE;
/* this->m_bAutoMenuEnable = FALSE;*/
}
CMainFrame::~CMainFrame()
{
}
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
// if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
// | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
// !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
// {
// TRACE0("Failed to create toolbar\n");
// return -1; // fail to create
// }
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
}
// TODO: Delete these three lines if you don't want the toolbar to
// be dockable
// m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
// DockControlBar(&m_wndToolBar);
return 0;
}
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CMainFrame diagnostics
#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
CFrameWnd::AssertValid();
}
void CMainFrame::Dump(CDumpContext& dc) const
{
CFrameWnd::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CMainFrame message handlers
//DEL void CMainFrame::OnCashierLog()
//DEL {
//DEL // TODO: Add your command handler code here
//DEL CCashierLogDlg m_CashierLogDlg;
//DEL if(m_CashierLogDlg.DoModal()!=IDOK)
//DEL return;
//DEL }
void CMainFrame::OnCashierLogoff()
{
// TODO: Add your command handler code here
CCashierLogDlg m_CashierLogDlg;
//注销前要盘存金额
if(!m_bCashinfoSave)
{
CString strMoney;
strMoney.Format("%f",m_dCashMoney);
OnCashinfoAdd(strMoney);
}
//记住用户名?
int i = 0 ;
char cName[20] = _T("");
FILE* file = fopen(_T("user.dat"),"r");
if(NULL != file)
{
while(!feof(file))
cName[i++] = fgetc(file);
}
fclose(file);
//delete the character 'y'
cName[i-1] = '\0';
CString strName;
strName.Format("%s",cName);
m_CashierLogDlg.SetName(strName);
if(m_CashierLogDlg.DoModal()!=IDOK)
{
CFrameWnd::OnClose();
return;
}
}
void CMainFrame::OnCashierEdit()
{
// TODO: Add your command handler code here
CCashierOperationDLg dlg;
dlg.setStype(CASHIER_EDIT);
dlg.DoModal();
}
void CMainFrame::OnCashierDelete()
{
// TODO: Add your command handler code here
CCashierOperationDLg dlg;
dlg.setStype(CASHIER_DELETE);
dlg.DoModal();
}
void CMainFrame::OnCashierAdd()
{
// TODO: Add your command handler code here
CCashierOperationDLg dlg;
dlg.setStype(CASHIER_ADD);
dlg.DoModal();
}
void CMainFrame::OnCashierQuery()
{
// TODO: Add your command handler code here
CCashierOperationDLg dlg;
dlg.setStype(CASHIER_QUERY);
dlg.DoModal();
}
void CMainFrame::OnCustomerAdd()
{
// TODO: Add your command handler code here
CCashierOperationDLg dlg;
dlg.setStype(CUSTOMER_ADD);
dlg.DoModal();
}
void CMainFrame::OnCustomerDelete()
{
// TODO: Add your command handler code here
CCashierOperationDLg dlg;
dlg.setStype(CUSTOMER_DELETE);
dlg.DoModal();
}
void CMainFrame::OnCustomerEdit(CString strCusNum,CString strConsumption )
{
// TODO: Add your command handler code here
CCashierOperationDLg dlg;
dlg.setStype(CUSTOMER_EDIT);
dlg.SetEdit1(strCusNum);
dlg.SetEdit4(strConsumption);
dlg.DoModal();
}
void CMainFrame::OnCustomerEdit( )
{
// TODO: Add your command handler code here
CCashierOperationDLg dlg;
dlg.setStype(CUSTOMER_EDIT);
dlg.DoModal();
}
void CMainFrame::OnCustomerQuery()
{
// TODO: Add your command handler code here
CCashierOperationDLg dlg;
dlg.setStype(CUSTOMER_QUERY);
dlg.DoModal();
}
void CMainFrame::OnCashinfoAdd(CString strMoney)
{
// TODO: Add your command handler code here
CCashierOperationDLg dlg;
dlg.setStype(CASHINFO_ADD);
dlg.SetEdit1(strMoney);
dlg.DoModal();
}
void CMainFrame::OnCashinfoAdd()
{
// TODO: Add your command handler code here
CCashierOperationDLg dlg;
dlg.setStype(CASHINFO_ADD);
dlg.DoModal();
}
void CMainFrame::OnCashinfoQuery()
{
// TODO: Add your command handler code here
CCashierOperationDLg dlg;
dlg.setStype(CASHINFO_QUERY);
dlg.DoModal();
}
void CMainFrame::OnGoodsAdd()
{
// TODO: Add your command handler code here
CCashierOperationDLg dlg;
dlg.setStype(GOODS_ADD);
dlg.DoModal();
}
void CMainFrame::OnGoodsDelete()
{
// TODO: Add your command handler code here
CCashierOperationDLg dlg;
dlg.setStype(GOODS_DELETE);
dlg.DoModal();
}
void CMainFrame::OnGoodsEdit(CString strGoodsNum,CString strStorage )
{
// TODO: Add your command handler code here
CCashierOperationDLg dlg;
dlg.setStype(GOODS_EDIT);
dlg.SetEdit1(strGoodsNum);
dlg.SetEdit4(strStorage);
dlg.DoModal();
}
void CMainFrame::OnGoodsEdit()
{
// TODO: Add your command handler code here
CCashierOperationDLg dlg;
dlg.setStype(GOODS_EDIT);
dlg.DoModal();
}
void CMainFrame::OnGoodsQuery()
{
// TODO: Add your command handler code here
CCashierOperationDLg dlg;
dlg.setStype(GOODS_QUERY);
dlg.DoModal();
}
void CMainFrame::OnTradeinfoAdd(CString strCusNum, CString strGoodsNum,
CString strQuan)
{
// TODO: Add your command handler code here
CCashierOperationDLg dlg;
dlg.setStype(TRADE_ADD);
dlg.SetEdit1(strCusNum);
dlg.SetEdit2(strGoodsNum);
dlg.SetEdit3(strQuan);
dlg.DoModal();
}
void CMainFrame::OnTradeinfoAdd()
{
// TODO: Add your command handler code here
CCashierOperationDLg dlg;
dlg.setStype(TRADE_ADD);
dlg.DoModal();
}
void CMainFrame::OnTradeinfoQuery()
{
// TODO: Add your command handler code here
CCashierOperationDLg dlg;
dlg.setStype(TRADE_QUERY);
dlg.DoModal();
}
//DEL void CMainFrame::OnDbBackup()
//DEL {
//DEL // TODO: Add your command handler code here
//DEL
//DEL }
//DEL void CMainFrame::OnDbRestore()
//DEL {
//DEL // TODO: Add your command handler code here
//DEL
//DEL }
void CMainFrame::OnHelp()
{
// TODO: Add your command handler code here
CHelpDlg dlg;
dlg.SetbHelp(TRUE);
dlg.m_strHelp = "快捷键:\n\n"
"注销: Ctrl+O\n"
"退出: Alt+X\n"
"添加收银员信息: Ctrl+A\n"
"删除收银员信息: Ctrl+D\n"
"修改收银员信息: Ctrl+E\n"
"查询收银员信息: Ctrl+Q\n"
"添加顾客信息: Alt+A\n"
"删除顾客信息: Alt+D\n"
"修改顾客信息: Alt+E\n"
"查询顾客信息: Alt+Q\n"
"添加商品信息: Shift+A\n"
"删除商品信息: Shift+D\n"
"修改商品信息: Shift+E\n"
"查询商品信息: Shift+Q\n"
"添加收银信息: Ctrl+Alt+A\n"
"查询收银信息: Ctrl+Alt+Q\n"
"添加交易信息: Ctrl+Shift+A\n"
"查询交易信息: Ctrl+Shift+Q\n"
"交易: Ctrl+Shift+T\n";
dlg.DoModal();
}
void CMainFrame::OnAbout()
{
// TODO: Add your command handler code here
CHelpDlg dlg;
dlg.SetbHelp(FALSE);
dlg.m_strHelp = " 本软件是一个超市收银系统,链接达梦数据库。数据库中"
"建有收银员信息表,客户信息表,商品信息表,客户交易信息表和收银统计信息表。"
"收银员可以以自己的用户名密码登录,完成各种实际情况操作,更新数据库。\n"
" 功能:"
" 1、收银:收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等信息,"
"系统根据这些信息获取相应的价格信息并计算应收取的总金额。完成收银后,"
"记录交易信息,修改有关种类商品的剩余量以及该持卡顾客的消费情况。\n"
" 2、发卡:顾客可交纳一定的费用(如50元)办理一张会员卡,以后在该商场购"
"物可凭卡享受9折优惠。如果一个未持卡顾客一次购物满1000元,可为其免费发放"
"一张会员卡,每张卡的优惠期为一年,一年内消费达到一定金额的可继续享受下"
"一年的优惠。\n"
" 3、款项盘存:收银员下班或交接班前对本收银台中本班次收取的款额进行盘存,"
"明确责任。\n"
" 4、商品信息的录入、修改、删除和查询等。\n"
" 5、收银员身份及口令管理。\n\n"
" 获得更多信息,Email:lightningfany@126.com\n";
dlg.DoModal();
}
void CMainFrame::OnAppExit()
{
// TODO: Add your command handler code here
if (AfxMessageBox("确定退出系统?",MB_OKCANCEL) == IDOK)
{
CFrameWnd::OnClose();
}
}
void CMainFrame::OnTrade()
{
// TODO: Add your command handler code here
CTradeDlg dlg;
dlg.DoModal();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -