📄 merchandisesetdialog.cpp
字号:
// MerchandiseSetDialog.cpp : 实现文件
//
#include "stdafx.h"
#include "SaleManager.h"
#include "MerchandiseSetDialog.h"
#include ".\merchandisesetdialog.h"
const TCHAR CMerchandiseSetDialog::m_szFilters[] =
_T("商品设置(*.xls)|*.xls|All Files(*.*)|*.*||");
IMPLEMENT_DYNAMIC(CMerchandiseSetDialog, CDialog)
CMerchandiseSetDialog::CMerchandiseSetDialog(CWnd* pParent /*=NULL*/)
: CDialog(CMerchandiseSetDialog::IDD, pParent)
,m_AddGroupName(FALSE)
, m_GroupCanUse(false)
, m_GroupName(_T(""))
, m_InOfGroupList(0)
, m_ModifyGroupName(false)
, m_InWitchGroup(_T(""))
, m_MerName(_T(""))
, m_MerPrice(_T(""))
, m_MerID(_T(""))
, m_MerPower(0)
, m_MerCanSale(0)
, m_MerUnit(_T(""))
, m_MerSaledNum(_T(""))
, m_MerLimitNum(_T(""))
, m_MerAdd(false)
, m_InOfMerList(0)
, m_Succeed(false)
, m_MerNameofName(_T(""))
, m_AddGoods(false)
, m_InOfGoodsList(0)
, m_BuyPrice(_T(""))
, m_SalePrice(_T(""))
, m_GoodsUnit(_T(""))
, m_MerGoodsNum(_T(""))
, m_GoodsNameOfName(_T(""))
, m_GoodsReMainNum(_T(""))
{
}
CMerchandiseSetDialog::~CMerchandiseSetDialog()
{
}
void CMerchandiseSetDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LIST_GROUPLIST, m_ListofGroup);
DDX_Control(pDX, IDC_LIST_MER, m_ListOfMer);
DDX_Control(pDX, IDC_LIST4, m_ListOfGoods);
DDX_Text (pDX, IDC_EDIT_GROUPNAME , m_GroupName);
DDX_Text (pDX, IDC_EDIT_INWITCHGROUP , m_InWitchGroup);
DDX_Text (pDX, IDC_EDIT_MERNAME, m_MerName);
DDX_Text (pDX, IDC_EDIT_MERPRICE, m_MerPrice);
DDX_Text (pDX, IDC_EDIT_MERID, m_MerID);
DDX_Text (pDX, IDC_EDIT_MERUNIT, m_MerUnit);
DDX_Text (pDX, IDC_EDIT_MERSALENUM, m_MerSaledNum);
DDX_Text (pDX, IDC_EDIT_MERLIMITNUM, m_MerLimitNum);
DDX_Text (pDX, IDC_EDIT_MER_NAMEOFNAME, m_MerNameofName);
DDX_Control(pDX, IDC_COMBO_GOODSNAME, m_ComboGoodName);
DDX_Text (pDX, IDC_EDIT_GOODS_BUYPRICE , m_BuyPrice);
DDX_Text (pDX, IDC_EDIT_MERSALEPRICE, m_SalePrice);
DDX_Text (pDX, IDC_EDIT_MERUINT, m_GoodsUnit);
DDX_Text (pDX, IDC_EDIT_MERGOODSNUM, m_MerGoodsNum);
DDX_Text (pDX, IDC_EDIT_GOOD_NAMEOFNAME , m_GoodsNameOfName);
DDX_Text (pDX, IDC_EDIT_GOODSONMERSETNUM, m_GoodsReMainNum);
}
BEGIN_MESSAGE_MAP(CMerchandiseSetDialog, CDialog)
ON_BN_CLICKED(IDC_BUTTON_MERSETEXIT, OnBnClickedButtonMersetexit)
ON_BN_CLICKED(IDC_BUTTON_GROUP_ADD, OnBnClickedButtonGroupAdd)
ON_BN_CLICKED(ID_GROUP_CANCEL, OnBnClickedGroupCancel)
ON_BN_CLICKED(ID_GROUP_OK, OnBnClickedGroupOk)
ON_BN_CLICKED(IDC_RADIO_GROUP_CANSALE, OnBnClickedRadioGroupCansale)
ON_BN_CLICKED(IDC_RADIO_GROUP_CANNOTSALE, OnBnClickedRadioGroupCannotsale)
ON_BN_CLICKED(IDC_BUTTON_GROUPMODIFY, OnBnClickedButtonGroupmodify)
ON_BN_CLICKED(IDC_BUTTON_MERADD, OnBnClickedButtonMeradd)
ON_BN_CLICKED(IDC_BUTTON_MERSETCANCEL, OnBnClickedButtonMersetcancel)
ON_BN_CLICKED(IDC_RADIO_MERPOWNEED, OnBnClickedRadioMerpowneed)
ON_BN_CLICKED(IDC_RADIO_MERPOWDIDNOTNEED, OnBnClickedRadioMerpowdidnotneed)
ON_BN_CLICKED(IDC_RADIO_MERCANSAL, OnBnClickedRadioMercansal)
ON_BN_CLICKED(IDC_RADIO_MERCANNOTSALE, OnBnClickedRadioMercannotsale)
ON_BN_CLICKED(IDC_BUTTON_MERSETOK, OnBnClickedButtonMersetok)
ON_NOTIFY(LVN_ITEMACTIVATE, IDC_LIST_GROUPLIST, OnLvnItemActivateListGrouplist)
ON_BN_CLICKED(IDC_BUTTON_MER_MODIFY, OnBnClickedButtonMerModify)
ON_BN_CLICKED(IDC_BUTTON_MER_DEL, OnBnClickedButtonMerDel)
ON_EN_CHANGE(IDC_EDIT_MER_NAMEOFNAME, OnEnChangeEditMerNameofname)
ON_BN_CLICKED(IDC_BUTTON_ADDGOODS, OnBnClickedButtonAddgoods)
ON_BN_CLICKED(IDC_BUTTON_MERGOODSETCANCEL, OnBnClickedButtonMergoodsetcancel)
ON_NOTIFY(LVN_ITEMACTIVATE, IDC_LIST_MER, OnLvnItemActivateListMer)
ON_BN_CLICKED(IDC_BUTTON_MERGOODSETOK, OnBnClickedButtonMergoodsetok)
ON_CBN_SELCHANGE(IDC_COMBO_GOODSNAME, OnCbnSelchangeComboGoodsname)
ON_BN_CLICKED(IDC_BUTTON_DELGOODS, OnBnClickedButtonDelgoods)
ON_EN_CHANGE(IDC_EDIT_GOOD_NAMEOFNAME, OnEnChangeEditGoodNameofname)
ON_BN_CLICKED(IDC_BUTTON_MERTOEXCEL, OnBnClickedButtonMertoexcel)
END_MESSAGE_MAP()
// CMerchandiseSetDialog 消息处理程序
BOOL CMerchandiseSetDialog::OnInitDialog()
{
CDialog::OnInitDialog();
m_ListofGroup.InsertColumn (0, _T("商品组名称"), LVCFMT_LEFT, 220, -1);
m_ListofGroup.InsertColumn (1, _T("可售"), LVCFMT_LEFT, 50, -1);
m_ListofGroup.SetExtendedStyle (LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
m_ListOfMer.InsertColumn (0, _T("商品名称"), LVCFMT_LEFT, 220, -1);
m_ListOfMer.InsertColumn (1, _T("单位"), LVCFMT_LEFT, 50, -1);
m_ListOfMer.InsertColumn (2, _T("售出单价"), LVCFMT_LEFT, 80, -1);
m_ListOfMer.InsertColumn (3, _T("限制售量"), LVCFMT_LEFT, 80, -1);
m_ListOfMer.InsertColumn (4, _T("当前已售"), LVCFMT_LEFT, 80, -1);
m_ListOfMer.InsertColumn (5, _T("授权"), LVCFMT_LEFT, 50, -1);
m_ListOfMer.InsertColumn (6, _T("可售"), LVCFMT_LEFT, 50, -1);
m_ListOfMer.SetExtendedStyle (LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
m_ListOfGoods.InsertColumn (0, _T("货品名称"), LVCFMT_LEFT, 100, -1);
m_ListOfGoods.InsertColumn (1, _T("单位"), LVCFMT_LEFT, 50, -1);
m_ListOfGoods.InsertColumn (2, _T("货品数量"), LVCFMT_LEFT, 75, -1);
m_ListOfGoods.InsertColumn (3, _T("预定售价"), LVCFMT_LEFT, 75, -1);
m_ListOfGoods.SetExtendedStyle (LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
InitControl();
OnConnection();
InitListOfGroup();
InitComboBox();
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
void CMerchandiseSetDialog::OnBnClickedButtonMersetexit()
{
m_pConnection->Close();
m_pConnection = NULL;
CDialog::OnCancel();
}
void CMerchandiseSetDialog::InitControl()
{
CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_GROUPNAME);
pEdit->EnableWindow(FALSE);
CButton *pButton = (CButton*)GetDlgItem (IDC_RADIO_GROUP_CANSALE);
pButton->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (IDC_RADIO_GROUP_CANNOTSALE);
pButton->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (ID_GROUP_OK);
pButton->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (ID_GROUP_CANCEL);
pButton->EnableWindow (FALSE);
pEdit = (CEdit*)GetDlgItem (IDC_EDIT_MERNAME);
pEdit->EnableWindow (FALSE);
pEdit = (CEdit*)GetDlgItem (IDC_EDIT_MERID);
pEdit->EnableWindow (FALSE);
pEdit = (CEdit*)GetDlgItem (IDC_EDIT_MERLIMITNUM);
pEdit->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (IDC_RADIO_MERPOWNEED);
pButton->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (IDC_RADIO_MERPOWDIDNOTNEED);
pButton->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (IDC_RADIO_MERCANSAL);
pButton->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (IDC_RADIO_MERCANNOTSALE);
pButton->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_MERSETOK);
pButton->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_MERSETCANCEL);
pButton->EnableWindow (FALSE);
pEdit = (CEdit*)GetDlgItem (IDC_EDIT_MERUNIT);
pEdit->EnableWindow (FALSE);
pEdit = (CEdit*)GetDlgItem (IDC_EDIT_MERSALENUM);
pEdit->EnableWindow (FALSE);
pEdit = (CEdit*)GetDlgItem (IDC_EDIT_MERPRICE);
pEdit->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (IDC_RADIO_MERPOWNEED);
pButton->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (IDC_RADIO_MERPOWDIDNOTNEED);
pButton->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (IDC_RADIO_MERCANSAL);
pButton->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (IDC_RADIO_MERCANNOTSALE);
pButton->EnableWindow (FALSE);
CComboBox *pComboBox = (CComboBox*)GetDlgItem (IDC_COMBO_GOODSNAME);
pComboBox->EnableWindow (FALSE);
pEdit = (CEdit*)GetDlgItem (IDC_EDIT_MERGOODSNUM);
pEdit->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_MERGOODSETOK);
pButton->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_MERGOODSETCANCEL);
pButton->EnableWindow (FALSE);
}
void CMerchandiseSetDialog::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->ConnectionTimeout = 20;
hr = m_pConnection->Open ("","","",adConnectUnspecified);
if(FAILED(hr))
{
AfxMessageBox ("打开失败");
return;
}
}
catch(_com_error &e)
{
AfxMessageBox (e.ErrorMessage());
return;
}
}
void CMerchandiseSetDialog::InitListOfGroup()
{
_RecordsetPtr m_pRecordsetLOF;
HRESULT hrLOF;
try
{
hrLOF = m_pRecordsetLOF.CreateInstance (__uuidof(Recordset));
if(FAILED(hrLOF))
{
AfxMessageBox(_T("创建实例失败!"));
return;
}
hrLOF = m_pRecordsetLOF->Open ("select * from MerchandiseOfGroupTable",
m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);
if(SUCCEEDED(hrLOF))
{
_variant_t var;
CString strValue;
int index = 0;
while(!m_pRecordsetLOF->adoEOF)
{
var = m_pRecordsetLOF->GetCollect ("GroupName");
strValue = (LPCSTR)_bstr_t(var);
m_ListofGroup.InsertItem (index, strValue);
var = m_pRecordsetLOF->GetCollect ("FlageToSale");
int CanSale = (int)_variant_t(var);
if( CanSale == 1)
m_ListofGroup.SetItemText (index, 1, _T("可售"));
else
m_ListofGroup.SetItemText (index, 1, _T("禁售"));
index++;
m_pRecordsetLOF->MoveNext ();
}
m_pRecordsetLOF->Close();
m_pRecordsetLOF = NULL;
}//if
}//try
catch(_com_error &e)
{
AfxMessageBox(e.ErrorMessage());
return;
}
}
void CMerchandiseSetDialog::OnBnClickedButtonGroupAdd()
{
CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_GROUPNAME);
pEdit->EnableWindow(TRUE);
pEdit->SetFocus();
CButton *pButton = (CButton*)GetDlgItem (IDC_RADIO_GROUP_CANSALE);
pButton->EnableWindow (TRUE);
pButton->SetCheck(BST_CHECKED);
pButton = (CButton*)GetDlgItem (IDC_RADIO_GROUP_CANNOTSALE);
pButton->EnableWindow (TRUE);
pButton = (CButton*)GetDlgItem (ID_GROUP_OK);
pButton->EnableWindow (TRUE);
pButton = (CButton*)GetDlgItem (ID_GROUP_CANCEL);
pButton->EnableWindow (TRUE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_GROUPMODIFY);
pButton->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_MERADD);
pButton->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_MER_MODIFY);
pButton->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_MER_DEL);
pButton->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_MER_DEL);
pButton->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_MERTOEXCEL);
pButton->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_ADDGOODS);
pButton->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_DELGOODS);
pButton->EnableWindow (FALSE);
m_AddGroupName = TRUE;
m_GroupCanUse = TRUE;
}
void CMerchandiseSetDialog::OnBnClickedGroupCancel()
{
if(m_AddGroupName)
{
CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_GROUPNAME);
pEdit->EnableWindow(FALSE);
CButton *pButton = (CButton*)GetDlgItem (IDC_RADIO_GROUP_CANSALE);
pButton->EnableWindow (FALSE);
pButton->SetCheck (FALSE);
pButton = (CButton*)GetDlgItem (IDC_RADIO_GROUP_CANNOTSALE);
pButton->EnableWindow (FALSE);
pButton->SetCheck (FALSE);
pButton = (CButton*)GetDlgItem (ID_GROUP_OK);
pButton->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (ID_GROUP_CANCEL);
pButton->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_GROUPMODIFY);
pButton->EnableWindow (TRUE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_MERADD);
pButton->EnableWindow (TRUE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_MER_MODIFY);
pButton->EnableWindow (TRUE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_MER_DEL);
pButton->EnableWindow (TRUE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_MER_DEL);
pButton->EnableWindow (TRUE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_MERTOEXCEL);
pButton->EnableWindow (TRUE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_ADDGOODS);
pButton->EnableWindow (TRUE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_DELGOODS);
pButton->EnableWindow (TRUE);
m_AddGroupName = FALSE;
m_GroupName ="";
UpdateData(FALSE);
}
if(m_ModifyGroupName)
{
CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_GROUPNAME);
pEdit->EnableWindow(FALSE);
pEdit->SetFocus();
CButton *pButton = (CButton*)GetDlgItem (IDC_RADIO_GROUP_CANSALE);
pButton->EnableWindow (FALSE);
pButton->SetCheck (FALSE);
pButton = (CButton*)GetDlgItem (IDC_RADIO_GROUP_CANNOTSALE);
pButton->EnableWindow (FALSE);
pButton->SetCheck (FALSE);
pButton = (CButton*)GetDlgItem (ID_GROUP_OK);
pButton->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (ID_GROUP_CANCEL);
pButton->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_GROUP_ADD);
pButton->EnableWindow (TRUE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_MERADD);
pButton->EnableWindow (TRUE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_MER_MODIFY);
pButton->EnableWindow (TRUE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_MER_DEL);
pButton->EnableWindow (TRUE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_MER_DEL);
pButton->EnableWindow (TRUE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_MERTOEXCEL);
pButton->EnableWindow (TRUE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_ADDGOODS);
pButton->EnableWindow (TRUE);
pButton = (CButton*)GetDlgItem (IDC_BUTTON_DELGOODS);
pButton->EnableWindow (TRUE);
m_ModifyGroupName = FALSE;
m_GroupName ="";
UpdateData(FALSE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -