📄 dlginputstoreback2.cpp
字号:
return false;
}
void CDlgInputStoreBack2::DoEditKeyDown(UINT nChar, UINT CtrlID)
{
if ((nChar ==34)&&(CtrlID ==IDC_PROVIDERNAME))
{
CRect rect,rect1;
listbox.GetWindowRect(rect1);
providername.GetWindowRect(rect);
ScreenToClient(rect);
ScreenToClient(rect1);
listbox.MoveWindow(rect.left,rect.bottom+2,rect.right-rect.left,rect1.bottom-rect1.top);
listbox.ShowWindow(SW_SHOW);
SetWindowPos(&listbox.wndTopMost,rect.left,rect.bottom+2,rect.right-rect.left,rect1.bottom-rect1.top,SWP_SHOWWINDOW);
listbox.SetSel(0);
listbox.SetFocus();
}
}
void CDlgInputStoreBack2::EditChage()
{
CString str;
list.edit.GetWindowText(str);
CString sql = "";
switch (list.col)
{
case 1 :
{
if (!str.IsEmpty())
sql.Format("select * from tb_merchandiseinfo where id like '%s%%' or shortname like '%s%%' ",str,str);
break;
}
case 2 :
{
if (!str.IsEmpty())
sql.Format("select * from tb_merchandiseinfo where name like '%s%%' or shortname like '%s%%'",str,str);
break;
}
case 3:
{
CString c_price,c_num,c_rebate,c_money;
float f_price,f_num,f_rebate,f_money;
c_price = str;
c_num = list.GetItemText(list.row,4);
c_rebate = list.GetItemText(list.row,5);
if (c_price.IsEmpty()||c_num.IsEmpty()||c_rebate.IsEmpty())
{
//如果单价\数量\折扣为空,金额将为空
list.SetItemText(list.row,6,"");
}
else
{
f_price = atof(c_price);
f_num = atof(c_num);
f_rebate = atof(c_rebate);
f_money = f_price*f_num*f_rebate;
c_money.Format("%10.2f",f_money);
list.SetItemText(list.row,6,c_money);
}
str.Format("%10.2f",CalculateMoney());
str.TrimLeft();
totalmoney.SetWindowText(str);
break;
}
case 4:
{
CString c_price,c_num,c_rebate,c_money;
float f_price,f_num,f_rebate,f_money;
c_price = list.GetItemText(list.row,3);
c_num = str;
c_rebate = list.GetItemText(list.row,5);
if (c_price.IsEmpty()||c_num.IsEmpty()||c_rebate.IsEmpty())
{
//如果单价\数量\折扣为空,金额将为空
list.SetItemText(list.row,6,"");
}
else
{
f_price = atof(c_price);
f_num = atof(c_num);
f_rebate = atof(c_rebate);
f_money = f_price*f_num*f_rebate;
c_money.Format("%10.2f",f_money);
list.SetItemText(list.row,6,c_money);
}
str.Format("%10.2f",CalculateMoney());
str.TrimLeft();
totalmoney.SetWindowText(str);
break;
}
case 5:
{
CString c_price,c_num,c_rebate,c_money;
float f_price,f_num,f_rebate,f_money;
c_price = list.GetItemText(list.row,3);
c_num = list.GetItemText(list.row,4);
c_rebate = str;
if (c_price.IsEmpty()||c_num.IsEmpty()||c_rebate.IsEmpty())
{
//如果单价\数量\折扣为空,金额将为空
list.SetItemText(list.row,6,"");
}
else
{
f_price = atof(c_price);
f_num = atof(c_num);
f_rebate = atof(c_rebate);
f_money = f_price*f_num*f_rebate;
c_money.Format("%10.2f",f_money);
list.SetItemText(list.row,6,c_money);
}
str.Format("%10.2f",CalculateMoney());
str.TrimLeft();
totalmoney.SetWindowText(str);
break;
}
default:
break;
}
if (! sql.IsEmpty())
{
m_pRs->raw_Close();
m_pRs->Open((_bstr_t)sql,m_pCon.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);
if (m_pRs->RecordCount>0)
{
listinfo.DeleteAllItems();
int i=0;
while(! m_pRs->adoEOF)
{
listinfo.InsertItem(100,"");
for (int m = 0;m<5;m++)
listinfo.SetItemText(i,m,(TCHAR*)(_bstr_t)m_pRs->GetFields()->GetItem((long)m)->Value);
m_pRs->MoveNext();
i +=1;
}
ShowListInfo();
}
else
listinfo.ShowWindow(SW_HIDE);
}
else
listinfo.ShowWindow(SW_HIDE);
}
bool CDlgInputStoreBack2::InputInfoIsNull()
{
CString c_provider,c_totalmoney,c_rebate,c_paymoney,c_factmoney;
providername.GetWindowText(c_provider);
totalmoney.GetWindowText(c_totalmoney);
rebate.GetWindowText(c_rebate);
paymoney.GetWindowText(c_paymoney);
factmoney.GetWindowText(c_factmoney);
if ((c_provider.IsEmpty())||(c_totalmoney.IsEmpty())||(c_rebate.IsEmpty())||(c_paymoney.IsEmpty())||(c_factmoney.IsEmpty()))
return true;
else
return false;
}
void CDlgInputStoreBack2::LimitEdit()
{
list.edit.IsNumber = false;
//在修改商品数据,价格,折扣时只允许输入数字
if ((list.col ==3)||(list.col ==4)||(list.col==5))
{
list.edit.IsNumber = true;
}
}
void CDlgInputStoreBack2::MoveFocus()
{
list.DisposeEdit(true);
if (list.col <5)
{
list.col = list.col+1;
CString tempID,tempname;
tempID = list.GetItemText(list.row,1);
tempname = list.GetItemText(list.row,2);
list.showedit = true;
if ((tempname.IsEmpty()==false)&&(list.col == 1))
list.showedit =false;
else if((tempID.IsEmpty()==false)&&(list.col == 2))
list.showedit =false;
list.ShowEdit();
}
else
{
AddNewRow();
}
}
void CDlgInputStoreBack2::OnChangeRebate()
{
CString c_totalmoney,c_rebate,c_paymoney;
float f_totalmoney,f_rebate,f_paymoney;
totalmoney.GetWindowText(c_totalmoney);
rebate.GetWindowText(c_rebate);
if(!c_totalmoney.IsEmpty()&&!c_rebate.IsEmpty())
{
f_totalmoney = atof(c_totalmoney);
f_rebate = atof(c_rebate);
f_paymoney = f_totalmoney *f_rebate;
c_paymoney.Format("%10.2f",f_paymoney);
c_paymoney.TrimLeft();
paymoney.SetWindowText(c_paymoney);
}
else
{
paymoney.SetWindowText("");
}
}
void CDlgInputStoreBack2::OnChangeTotalmoney()
{
//调用折扣改变时的事件
OnChangeRebate();
}
void CDlgInputStoreBack2::OnDblclkList2(NMHDR* pNMHDR, LRESULT* pResult)
{
int row = listinfo.GetSelectionMark();
if (row!=-1)
{
CString temp;
temp = listinfo.GetItemText(row,0);
//设置商品编号
list.SetItemText(list.row,1,temp);
//设置商品名称
list.SetItemText(list.row,2,listinfo.GetItemText(row,1));
//设置默认价格
list.SetItemText(list.row,3,listinfo.GetItemText(row,4));
listinfo.ShowWindow(SW_HIDE);
}
//移动编辑框
//MoveFocus();
list.col =3;
list.ShowEdit();
//*pResult = 0;
}
void CDlgInputStoreBack2::OnKillfocusListbox()
{
listbox.ShowWindow(SW_HIDE);
}
void CDlgInputStoreBack2::OnKillfocusList2(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
*pResult = 0;
}
void CDlgInputStoreBack2::OnKillfocusListbox2()
{
storage.ShowWindow(SW_HIDE);
}
void CDlgInputStoreBack2::ShowListinfo()
{
if (listinfo.IsWindowVisible())
{
listinfo.SetFocus();
listinfo.SetSelectionMark(1);
}
}
void CDlgInputStoreBack2::ShowListInfo()
{
CRect rect;
list.GetSubItemRect(list.row,list.col,LVIR_BOUNDS,rect);
listinfo.MoveWindow(rect.left,rect.bottom+1,300,150);
listinfo.ShowWindow(SW_SHOW);
}
void CDlgInputStoreBack2::ShowStorage()
{
if (list.col ==0)
if (!storage.IsWindowVisible())
{
CRect rect;
list.GetSubItemRect(list.row,list.col,LVIR_BOUNDS,rect);
storage.MoveWindow(rect.left,rect.bottom,100,80,0);
storage.ShowWindow(SW_SHOW);
storage.SetFocus();
storage.SetCurSel(0);
}
}
void CDlgInputStoreBack2::OnDblclkListbox()
{
CString temp;
int index = listbox.GetCurSel();
if (index != -1)
{
listbox.GetText(index,temp);
if (! temp.IsEmpty())
providername.SetWindowText(temp);
providername.SetFocus();
listbox.ShowWindow(SW_HIDE);
}
}
void CDlgInputStoreBack2::OnDblclkListbox2()
{
CString temp;
int index = storage.GetCurSel();
if (index != -1)
{
storage.GetText(index,temp);
if (! temp.IsEmpty())
list.SetItemText(list.row,list.col,temp);
list.SetFocus();
storage.ShowWindow(SW_HIDE);
list.col+=1;
list.ShowEdit();
}
}
void CDlgInputStoreBack2::AddStorage()
{
storage.SetRedraw(FALSE);
storage.ResetContent();//删除所有的数据
CString sql;
sql = "select distinct storagename from tb_storageinfo";
m_pRs->Close();
m_pRs->Open((_bstr_t)sql,m_pCon.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);
while (!m_pRs->adoEOF)
{
storage.AddString((TCHAR *)(_bstr_t)m_pRs->GetFields()->GetItem("storagename")->Value);
m_pRs->MoveNext();
}
storage.SetRedraw(TRUE);
storage.Invalidate();
}
//退货商品在库存中是否存在
bool CDlgInputStoreBack2::MerchandiseIsExis(CString & id)
{
CString sql;
for (int i = 0;i<list.GetItemCount();i++)
{
CString c_id,c_stock;
c_id = list.GetItemText(i,1);
c_stock = list.GetItemText(i,0);
sql.Format("select * from tb_merchandisestorage where merchandiseid = '%s' and storagename = '%s'",c_id,c_stock);
m_pRs->Close();
m_pRs->Open((_variant_t)sql,m_pCon.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);
if (m_pRs->RecordCount<=0)
{
id = c_id;
return false;
}
}
return true;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -