⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 merchandisesetdialog.cpp

📁 VC+SQL SERVER 2000环境下开发的商品销售管理系统
💻 CPP
📖 第 1 页 / 共 5 页
字号:
// 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 + -