【VC开源代码栏目提醒】:网学会员VC开源代码为您提供DlgBookSale2.cpp参考,解决您在DlgBookSale2.cpp学习中工作中的难题,参考学习。
// DlgBookSale2.cpp : implementation file
//
#include "stdafx.h"
#include "bbb.h"
#include "DlgBookSale2.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern _ConnectionPtr m_pCon; //ADO连接对象
extern _RecordsetPtr m_pRs;
extern _RecordsetPtr m_pRs1;
extern _CommandPtr m_pCom;
extern CString user;
/////////////////////////////////////////////////////////////////////////////
// CDlgBookSale2 dialog
CDlgBookSale2::CDlgBookSale2(CWnd* pParent /*=NULL*/)
: CDialog(CDlgBookSale2::IDD, pParent)
{
changed = true;
//{{AFX_DATA_INIT(CDlgBookSale2)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CDlgBookSale2::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlgBookSale2)
DDX_Control(pDX, IDC_BOOKREBATE, m_bookrebate);
DDX_Control(pDX, IDC_SUMMONEY, m_summoney);
DDX_Control(pDX, IDC_SELLPRICE, m_sellprice);
DDX_Control(pDX, IDC_REBATE, m_rebate);
DDX_Control(pDX, IDC_PAYMONEY, m_paymoney);
DDX_Control(pDX, IDC_OPERATOR, m_operator);
DDX_Control(pDX, IDC_NUM, m_booknum);
DDX_Control(pDX, IDC_LIST1, m_list);
DDX_Control(pDX, IDC_FACTMONEY, m_factmoney);
DDX_Control(pDX, IDC_DATE, m_date);
DDX_Control(pDX, IDC_CUSTOMER, m_customer);
DDX_Control(pDX, IDC_COUNTERNAME, m_counter);
DDX_Control(pDX, IDC_BOOKNAME, m_bookname);
DDX_Control(pDX, IDC_BARCODE, m_barcode);
DDX_Control(pDX, IDC_AUTHOR, m_author);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlgBookSale2, CDialog)
//{{AFX_MSG_MAP(CDlgBookSale2)
ON_EN_CHANGE(IDC_AUTHOR, OnChangeAuthor)
ON_EN_CHANGE(IDC_BARCODE, OnChangeBarcode)
ON_EN_CHANGE(IDC_REBATE, OnChangeRebate)
ON_EN_CHANGE(IDC_SUMMONEY, OnChangeSummoney)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlgBookSale2 message handlers
void CDlgBookSale2::CancelOperate()
{
m_list.DeleteAllItems();
m_author.SetWindowText("");
m_barcode.SetWindowText("");
m_bookrebate.SetWindowText("1.0");
m_bookname.SetWindowText("");
m_booknum.SetWindowText("");
m_counter.SetCurSel(-1);
m_customer.SetWindowText("无记名");
CTime date = CTime::GetCurrentTime();
m_date.SetTime(&date);
m_factmoney.SetWindowText("");
m_operator.SetWindowText(user);
m_paymoney.SetWindowText("");
m_rebate.SetWindowText("1.0");
m_sellprice.SetWindowText("");
m_summoney.SetWindowText("");
}
BOOL CDlgBookSale2::OnInitDialog()
{
CDialog::OnInitDialog();
m_rebate.IsNumber = true;
m_factmoney.IsNumber = true;
m_sellprice.IsNumber = true;
m_booknum.IsNumber = true;
m_bookrebate.IsNumber = true;
CancelOperate();
LoadCounterInfo();
m_list.SetExtendedStyle(LVS_EX_FLATSB|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
//Add Column and Set Column Width
m_list.InsertColumn(0,"条形码",LVCFMT_LEFT,100);
m_list.InsertColumn(1,"书籍名称",LVCFMT_LEFT,110);
m_list.InsertColumn(2,"作者",LVCFMT_LEFT,60);
m_list.InsertColumn(3,"售价",LVCFMT_LEFT,60);
m_list.InsertColumn(4,"折扣",LVCFMT_LEFT,60);
m_list.InsertColumn(5,"数量",LVCFMT_LEFT,60);
m_list.InsertColumn(6,"金额",LVCFMT_LEFT,60);
return TRUE;
}
void CDlgBookSale2::LoadCounterInfo()
{
m_counter.ResetContent();//删除所有的数据
CString sql;
sql = "select distinct counter from tb_counterinfo";
m_pRs->raw_Close();
m_pRs->Open((_bstr_t)sql,m_pCon.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);
while (!m_pRs->adoEOF)
{
m_counter.AddString((TCHAR *)(_bstr_t)m_pRs->GetFields()->GetItem("counter")->Value);
m_pRs->MoveNext();
}
}
void CDlgBookSale2::OnChangeAuthor()
{
}
void CDlgBookSale2::OnOK()
{
//
}
BOOL CDlgBookSale2::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message==WM_KEYDOWN)
{
if (pMsg->wParam ==13)
pMsg->wParam =9;
else if ((pMsg->hwnd==m_barcode.m_hWnd)||(pMsg->hwnd==m_booknum.m_hWnd)||(pMsg->hwnd==m_rebate)||(pMsg->hwnd==m_sellprice.m_hWnd))
if (pMsg->wParam == VK_INSERT)
AddDataToList();
if (pMsg->hwnd == m_list.m_hWnd)
if (pMsg->wParam == VK_DELETE)
DeleteListData();
}
return CDialog::PreTranslateMessage(pMsg);
}
void CDlgBookSale2::AddDataToList()
{
CString c_barcode,c_bookname,c_booknum,c_bookrebate,c_sellprice,c_author,c_subtotal;
float f_booknum,f_bookrebate,f_sellprice,f_subtotal;
m_barcode.GetWindowText(c_barcode);
m_bookname.GetWindowText(c_bookname);
m_booknum.GetWindowText(c_booknum);
m_bookrebate.GetWindowText(c_bookrebate);
m_author.GetWindowText(c_author);
m_sellprice.GetWindowText(c_sellprice);
f_booknum = atof(c_booknum);
f_bookrebate = atof(c_bookrebate);
f_sellprice = atof(c_sellprice);
f_subtotal = f_booknum*f_bookrebate*f_sellprice;
c_subtotal.Format("%f",f_subtotal);
if (c_barcode.IsEmpty()||c_bookname.IsEmpty()||c_booknum.IsEmpty()||c_bookrebate.IsEmpty()||c_sellprice.IsEmpty())
{
return;
}
else
{
//Add data to list
m_list.InsertItem(100,"");
int rows = m_list.GetItemCount();
m_list.SetItemText(rows-1,0,c_barcode);
m_list.SetItemText(rows-1,1,c_bookname);
m_list.SetItemText(rows-1,2,c_author);
m_list.SetItemText(rows-1,3,c_sellprice);
m_list.SetItemText(rows-1,4,c_bookrebate);
m_list.SetItemText(rows-1,5,c_booknum);
m_list.SetItemText(rows-1,6,c_subtotal);
//Clear Edit Text
m_barcode.SetWindowText("");
m_booknum.SetWindowText("");
m_bookrebate.SetWindowText("1.0");
m_sellprice.SetWindowText("");
m_barcode.SetFocus();
//统计
float money = CalculateMoney();
CString temp;
temp.Format("%f",money);
m_summoney.SetWindowText(temp);
}
}
void CDlgBookSale2::OnChangeBarcode()
{
if (changed)
{
CString str;
m_barcode.GetWindowText(str);
if (str.IsEmpty())
{
m_bookname.SetWindowText("");
m_author.SetWindowText("");
}
else
{
CString sql;
sql.Format("select a.barcode,a.bookname,a.author,b.sellprice from tb_bookinfo a inner join tb_fixprice b on a.barcode = b.barcode and (a.barcode = '%s' or a.bookname = '%s' or a.shortname = '%s' )",str,str,str);
m_pRs->raw_Close();
m_pRs->Open((_variant_t)sql,m_pCon.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);
if (m_pRs->RecordCount>0)
{
changed = false;
m_barcode.SetWindowText((TCHAR*)(_bstr_t)m_pRs->GetFields()->GetItem((long)0)->Value);
changed = true;
m_bookname.SetWin
上一篇:
frmBusy.frm
下一篇:
浮生若萍