📄 goodssetdialog.cpp
字号:
// GoodsSetDialog.cpp : 实现文件
//
#include "stdafx.h"
#include "SaleManager.h"
#include "GoodsSetDialog.h"
#include ".\goodssetdialog.h"
// CGoodsSetDialog 对话框
const TCHAR CGoodsSetDialog::m_szFilters[] =
_T("货品设置(*.xls)|*.xls|All Files(*.*)|*.*||");
IMPLEMENT_DYNAMIC(CGoodsSetDialog, CDialog)
CGoodsSetDialog::CGoodsSetDialog(CWnd* pParent /*=NULL*/)
: CDialog(CGoodsSetDialog::IDD, pParent),m_GoodAdd(FALSE),
m_GoodModify(FALSE)
, m_GoodsName(_T(""))
, m_GoodsUnit(_T(""))
, m_GoodsPrice(_T(""))
, m_Warn(_T(""))
, m_Index(0)
, m_Succeed(FALSE)
{
}
CGoodsSetDialog::~CGoodsSetDialog()
{
}
void CGoodsSetDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LIST_GOODSMESSAGE, m_GoodsList);
DDX_Text (pDX, IDC_EDIT_GOODS, m_GoodsName);
DDX_Text (pDX, IDC_EDIT_UNIT, m_GoodsUnit);
DDX_Text (pDX, IDC_EDIT_PERPRICE, m_GoodsPrice);
DDX_Text (pDX, IDC_EDIT_WARN, m_Warn);
}
BEGIN_MESSAGE_MAP(CGoodsSetDialog, CDialog)
ON_BN_CLICKED(IDC_BUTTON_EXIT, OnBnClickedButtonExit)
ON_BN_CLICKED(IDC_BUTTON_ADD, OnBnClickedButtonAdd)
ON_BN_CLICKED(IDC_BUTTON_GOODSCANCEL, OnBnClickedButtonGoodscancel)
ON_BN_CLICKED(IDC_BUTTON_GOODSOK, OnBnClickedButtonGoodsok)
ON_BN_CLICKED(IDC_BUTTON_MODIFY, OnBnClickedButtonModify)
ON_BN_CLICKED(IDC_BUTTON_DEL, OnBnClickedButtonDel)
ON_EN_CHANGE(IDC_EDIT_GOODSNAME, OnEnChangeEditGoodsname)
ON_BN_CLICKED(IDC_BUTTON_GOODSETTOEXCEL, OnBnClickedButtonGoodsettoexcel)
END_MESSAGE_MAP()
// CGoodsSetDialog 消息处理程序
void CGoodsSetDialog::OnBnClickedButtonExit()
{
CDialog::OnCancel();
}
BOOL CGoodsSetDialog::OnInitDialog()
{
CDialog::OnInitDialog();
CEdit *pEdit = (CEdit*)GetDlgItem(IDC_EDIT_GOODSNAME);
pEdit->SetFocus();
m_GoodsList.InsertColumn (0, _T("货品名称"), LVCFMT_LEFT, 100);
m_GoodsList.InsertColumn (1, _T("单位"), LVCFMT_LEFT, 60);
m_GoodsList.InsertColumn (2, _T("最近进价"), LVCFMT_LEFT, 80);
m_GoodsList.InsertColumn (3, _T("预定售价"), LVCFMT_LEFT, 80);
m_GoodsList.InsertColumn (4, _T("警告存量"), LVCFMT_LEFT, 80);
m_GoodsList.InsertColumn (5, _T("当前存量"), LVCFMT_LEFT, 80);
m_GoodsList.SetExtendedStyle (LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
ControlCanNotUse();
OnConnection();
InitGoodsList();
return TRUE;
}
void CGoodsSetDialog::OnConnection()
{
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance (__uuidof(Connection));
if(FAILED(hr))
{
AfxMessageBox(_T("创建实例失败!"));
return;
}
m_pConnection->ConnectionString = "File Name=SaleManagerdata.udl";
m_pConnection->CommandTimeout = 20;
hr = m_pConnection->Open ("", "", "", adConnectUnspecified);
if(FAILED(hr))
{
AfxMessageBox(_T("打开失败!"));
return;
}
}
catch(_com_error &e)
{
AfxMessageBox(e.ErrorMessage());
return;
}
}
void CGoodsSetDialog::InitGoodsList()
{
HRESULT hrG;
_RecordsetPtr pRecordsetG;
try
{
hrG = pRecordsetG.CreateInstance (__uuidof(Recordset));
if(FAILED(hrG))
{
AfxMessageBox(_T("创建实例失败!"));
return;
}
hrG = pRecordsetG->Open ("select * from GoodsTable",
m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);
if(SUCCEEDED(hrG))
{
if(!pRecordsetG->adoEOF)
{
_variant_t var;
CString strValue;
int index = 0;
m_Index = 0;
while(!pRecordsetG->adoEOF)
{
var = pRecordsetG->GetCollect ("GoodsName");
strValue = (LPCSTR)_bstr_t(var);
m_GoodsList.InsertItem (index, strValue);
var = pRecordsetG->GetCollect ("Units");
strValue = (LPCSTR)_bstr_t(var);
m_GoodsList.SetItemText (index, 1, strValue);
var = pRecordsetG->GetCollect ("BuyPrice");
strValue = (LPCSTR)_bstr_t(var);
m_GoodsList.SetItemText (index, 2, strValue);
var = pRecordsetG->GetCollect ("SalePrice");
strValue = (LPCSTR)_bstr_t(var);
m_GoodsList.SetItemText (index, 3, strValue);
var = pRecordsetG->GetCollect ("WarningStore");
strValue = (LPCSTR)_bstr_t(var);
m_GoodsList.SetItemText (index, 4, strValue);
var = pRecordsetG->GetCollect ("NowStore");
strValue = (LPCSTR)_bstr_t(var);
m_GoodsList.SetItemText (index, 5, strValue);
index ++;
m_Index ++;
pRecordsetG->MoveNext();
}
pRecordsetG->Close();
pRecordsetG = NULL;
}//if
}//if
}//try
catch(_com_error &e)
{
AfxMessageBox(e.ErrorMessage());
return;
}
}
void CGoodsSetDialog::ControlCanNotUse()
{
CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_GOODS);
pEdit->EnableWindow(FALSE);
pEdit = (CEdit*)GetDlgItem (IDC_EDIT_UNIT);
pEdit->EnableWindow(FALSE);
pEdit = (CEdit*)GetDlgItem (IDC_EDIT_WARN);
pEdit->EnableWindow(FALSE);
pEdit = (CEdit*)GetDlgItem (IDC_EDIT_PERPRICE);
pEdit->EnableWindow(FALSE);
CButton *pButton = (CButton*)GetDlgItem (IDC_BUTTON_GOODSOK);
pButton->EnableWindow(FALSE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_GOODSCANCEL);
pButton->EnableWindow(FALSE);
}
void CGoodsSetDialog::ControlCanUse()
{
CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_GOODS);
pEdit->EnableWindow(TRUE);
pEdit = (CEdit*)GetDlgItem (IDC_EDIT_UNIT);
pEdit->EnableWindow(TRUE);
pEdit = (CEdit*)GetDlgItem (IDC_EDIT_WARN);
pEdit->EnableWindow(TRUE);
pEdit = (CEdit*)GetDlgItem (IDC_EDIT_PERPRICE);
pEdit->EnableWindow(TRUE);
CButton *pButton = (CButton*)GetDlgItem(IDC_BUTTON_GOODSOK);
pButton->EnableWindow(TRUE);
pButton = (CButton*)GetDlgItem(IDC_BUTTON_GOODSCANCEL);
pButton->EnableWindow(TRUE);
}
void CGoodsSetDialog::OnBnClickedButtonAdd()
{
m_GoodAdd = TRUE;
ControlCanUse();
CButton *pButton = (CButton*)GetDlgItem (IDC_BUTTON_MODIFY);
pButton->EnableWindow(FALSE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_DEL);
pButton->EnableWindow(FALSE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_GOODSETTOEXCEL);
pButton->EnableWindow(FALSE);
CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_GOODSNAME);
pEdit->EnableWindow(FALSE);
pEdit = (CEdit*)GetDlgItem (IDC_EDIT_GOODS);
pEdit->SetFocus();
}
void CGoodsSetDialog::OnBnClickedButtonGoodscancel()
{
if(m_GoodAdd)
{
CButton *pButton = (CButton*)GetDlgItem(IDC_BUTTON_MODIFY);
pButton->EnableWindow(TRUE);
pButton = (CButton*)GetDlgItem(IDC_BUTTON_DEL);
pButton->EnableWindow(TRUE);
pButton = (CButton*)GetDlgItem(IDC_BUTTON_GOODSETTOEXCEL);
pButton->EnableWindow(TRUE);
CEdit *pEdit = (CEdit*)GetDlgItem(IDC_EDIT_GOODSNAME);
pEdit->EnableWindow(TRUE);
pEdit->SetFocus();
ControlCanNotUse();
m_GoodsName = "";
m_GoodsUnit = "";
m_GoodsPrice = "";
m_Warn = "";
UpdateData(FALSE);
m_GoodAdd = FALSE;
return;
}
if(m_GoodModify)
{
CButton *pButton = (CButton*)GetDlgItem (IDC_BUTTON_ADD);
pButton->EnableWindow(TRUE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_DEL);
pButton->EnableWindow(TRUE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_GOODSETTOEXCEL);
pButton->EnableWindow(TRUE);
CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_GOODSNAME);
pEdit->EnableWindow(TRUE);
pEdit->EnableWindow(TRUE);
pEdit->SetFocus();
ControlCanNotUse();
m_GoodsName = "";
m_GoodsUnit = "";
m_GoodsPrice = "";
m_Warn = "";
UpdateData(FALSE);
m_GoodModify = FALSE;
}
}
void CGoodsSetDialog::OnBnClickedButtonGoodsok()
{
if(m_GoodAdd)
{
UpdateData(TRUE);
if(m_GoodsName == "")
{
MessageBox(_T("没有输入货品名称!"), _T("货品设置"), MB_ICONERROR |MB_OK);
CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_GOODS);
pEdit->SetFocus();
return;
}
if(m_GoodsUnit == "")
{
MessageBox(_T("没有输入货品单位!"),_T("货品设置"), MB_ICONERROR |MB_OK);
CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_UNIT);
pEdit->SetFocus();
return;
}
AddNew();
if(m_Succeed)
{
ControlCanNotUse();
CButton *pButton = (CButton*)GetDlgItem(IDC_BUTTON_MODIFY);
pButton->EnableWindow(TRUE);
pButton = (CButton*)GetDlgItem(IDC_BUTTON_DEL);
pButton->EnableWindow(TRUE);
pButton = (CButton*)GetDlgItem(IDC_BUTTON_GOODSETTOEXCEL);
pButton->EnableWindow(TRUE);
CEdit *pEdit = (CEdit*)GetDlgItem(IDC_EDIT_GOODSNAME);
pEdit->EnableWindow(TRUE);
pEdit->SetFocus();
ControlCanNotUse();
m_GoodsName = "";
m_GoodsUnit = "";
m_GoodsPrice = "";
m_Warn = "";
UpdateData(FALSE);
m_GoodAdd = FALSE;
m_Succeed = FALSE;
MessageBox (_T("添加货品成功!"), _T("货品设置"), MB_ICONASTERISK | MB_OK);
}//if
}//if
else if(m_GoodModify)
{
Modify();
if(m_Succeed)
{
ControlCanNotUse();
CButton *pButton = (CButton*)GetDlgItem(IDC_EDIT_GOODS);
pButton->EnableWindow(TRUE);
pButton = (CButton*)GetDlgItem(IDC_BUTTON_DEL);
pButton->EnableWindow(TRUE);
pButton = (CButton*)GetDlgItem(IDC_BUTTON_GOODSETTOEXCEL);
pButton->EnableWindow(TRUE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_ADD);
pButton->EnableWindow(TRUE);
CEdit *pEdit = (CEdit*)GetDlgItem(IDC_EDIT_GOODSNAME);
pEdit->EnableWindow(TRUE);
pEdit->SetFocus();
ControlCanNotUse();
m_GoodsName = "";
m_GoodsUnit = "";
m_GoodsPrice = "";
m_Warn = "";
UpdateData(FALSE);
m_GoodModify = FALSE;
m_Succeed = FALSE;
MessageBox (_T("修改货品成功!"), _T("货品设置"), MB_ICONASTERISK | MB_OK);
}
}//else if
}
void CGoodsSetDialog::AddNew()
{
_RecordsetPtr pRecordsetG;
HRESULT hrG;
try
{
hrG = pRecordsetG.CreateInstance (__uuidof(Recordset));
if(FAILED(hrG))
{
AfxMessageBox (_T("不能创建实例!"));
return;
}
hrG = pRecordsetG->Open ("select * from GoodsTable",
m_pConnection.GetInterfacePtr(),
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -