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

📄 productdlg.cpp

📁 订单管理系统
💻 CPP
字号:
// ProductDlg.cpp : implementation file
//

#include "stdafx.h"
#include "ordermanagement.h"
#include "ProductDlg.h"

#include "ADOConn.h"
#include "liInfoDlg.h"
#include "SearOderDlg.h"
#include "OderEditDlg.h"
#include "SendOderDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// ProductDlg dialog


ProductDlg::ProductDlg(CWnd* pParent /*=NULL*/)
	: CDialog(ProductDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(ProductDlg)
	m_color = _T("");
	m_pID = _T("");
	m_kStr = _T("");
	m_nSe = _T("");
	m_maintance = _T("");
	m_name = _T("");
	m_price = _T("");
	m_remark = _T("");
	m_nSo = _T("");
	//}}AFX_DATA_INIT
}


void ProductDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(ProductDlg)
	DDX_Control(pDX, IDC_KSORT_COMB, m_soCtr);
	DDX_Control(pDX, IDC_KSEARCH_COMB, m_seCtr);
	DDX_Control(pDX, IDC_LIST_PRO, m_listCtr);
	DDX_Text(pDX, IDC_COLOR, m_color);
	DDX_Text(pDX, IDC_ID, m_pID);
	DDX_Text(pDX, IDC_KEY_EDIT, m_kStr);
	DDX_CBString(pDX, IDC_KSEARCH_COMB, m_nSe);
	DDX_Text(pDX, IDC_MAINTANCE, m_maintance);
	DDX_Text(pDX, IDC_NAME, m_name);
	DDX_Text(pDX, IDC_PRICE, m_price);
	DDX_Text(pDX, IDC_REMARK, m_remark);
	DDX_CBString(pDX, IDC_KSORT_COMB, m_nSo);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(ProductDlg, CDialog)
	//{{AFX_MSG_MAP(ProductDlg)
	ON_NOTIFY(NM_CLICK, IDC_LIST_PRO, OnClickListPro)
	ON_BN_CLICKED(IDC_SORT_BTN, OnSortBtn)
	ON_BN_CLICKED(IDC_SEARCH_BTN, OnSearchBtn)
	ON_BN_CLICKED(IDC_ONCANCLE, OnOncancle)
	ON_BN_CLICKED(IDC_BTN_REFRESH, OnBtnRefresh)
	ON_COMMAND(ID_ODER_EDIT, OnOderEdit)
	ON_COMMAND(IDC_ODER_SEARCH, OnOderSearch)
	ON_COMMAND(IDC_PRIINFO, OnPriinfo)
	ON_WM_CTLCOLOR()
	ON_COMMAND(IDC_AA, OnAa)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// ProductDlg message handlers
ADOConn pconn;
_RecordsetPtr  m_pPRecordset;

BOOL ProductDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	//添加窗口图标
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	//初始化图标
	m_imagelist.Create(16, 16,ILC_MASK,1,4);
	HICON hIcon=AfxGetApp()->LoadIcon(IDI_ICON2);
	m_imagelist.Add(hIcon);

	//初始化列表框表头
	m_listCtr.SetImageList(&m_imagelist,LVSIL_SMALL);

	m_listCtr.InsertColumn(0,"产 品 ID",LVCFMT_LEFT,120);
	m_listCtr.InsertColumn(1,"产品名称",LVCFMT_LEFT,120);
	m_listCtr.InsertColumn(2,"产品单价/元",LVCFMT_LEFT,80);
	m_listCtr.InsertColumn(3,"保质期",LVCFMT_LEFT,80);
	m_listCtr.InsertColumn(4,"颜色类别",LVCFMT_LEFT,80);
	m_listCtr.InsertColumn(5,"产品备注",LVCFMT_LEFT,200);
	/* -- 设置单列全选,显示网格 -- */
	m_listCtr.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);	
	
	//清除应用程序菜单
	//SetMenu是CWnd类的成员函数,用来设置应用程序的菜单
	if(!cSe)
	{
		
		SetMenu(NULL);
	}
	m_nSechType = 0;
	this->pBindList();	

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void ProductDlg::pBindList()
{
	_bstr_t vSQL;
	CString sKey,sort;
	int nItem;
	m_listCtr.DeleteAllItems();
	
	try{
		//如果Concection对象为空,则重新连接
		if(pconn.m_pConn == NULL)  
			pconn.OnInitADOConn();

			if(m_soCtr.GetCurSel() == 0)
			sort = "DESC";
			else 
			    	sort = "ASC";

		switch(m_nSechType)
		{
		case 0: 
			vSQL = "select * from ProductMessage order by productID "+sort;
			m_pPRecordset = pconn.GetRecordSet(vSQL);	
			break;
		case 1: 
			vSQL="select * from ProductMessage where productID='"+m_kStr+"'order by productID "+sort;
			m_pPRecordset = pconn.GetRecordSet(vSQL);
			break;
		case 2: vSQL= "select * from ProductMessage where productName like '%" +m_kStr+ "'order by productID "+sort;
			m_pPRecordset = pconn.GetRecordSet(vSQL);
			break;
		default: break;
		}	
		while(!m_pPRecordset->adoEOF)
		{
			pconn.vPID = m_pPRecordset->GetCollect("productID");
			pconn.vPN  = m_pPRecordset->GetCollect("productName");
			pconn.vPr = m_pPRecordset->GetCollect("price");
			pconn.vMtance = m_pPRecordset->GetCollect("maintance");
			pconn.vCo = m_pPRecordset->GetCollect("colorType");
			pconn.vRemark = m_pPRecordset->GetCollect("remark");
			// -- 添加数据到列表控件中 -- //
			nItem = m_listCtr.InsertItem(0xffff,(_bstr_t)pconn.vPID,0);
			m_listCtr.SetItemText(nItem,1,(_bstr_t)pconn.vPN);
			m_listCtr.SetItemText(nItem,2,(_bstr_t)pconn.vPr);
			m_listCtr.SetItemText(nItem,3,(_bstr_t)pconn.vMtance);
			m_listCtr.SetItemText(nItem,4,(_bstr_t)pconn.vCo);
			m_listCtr.SetItemText(nItem,5,(_bstr_t)pconn.vRemark);

			m_pPRecordset->MoveNext();
		}
		m_pPRecordset->Close();
	}
	catch(_com_error e)
	{
		AfxMessageBox(e.ErrorMessage());
	}
}

void ProductDlg::OnSortBtn() 
{
		m_nSechType = 0;

	this->pBindList();
}

void ProductDlg::OnSearchBtn() 
{
	UpdateData(true);
	if(m_seCtr.GetCurSel() == 0 )
	{
		m_nSechType = 1;
	}
	else if(m_seCtr.GetCurSel() == 1)
		m_nSechType = 2;
	else 
		m_nSechType = 0;

	this->pBindList();
}

void ProductDlg::OnBtnRefresh() 
{
	m_kStr = "";
	m_nSe  = _T("");
	m_nSo = _T("");

	m_pID	 = "";
	m_name   = "";
	m_price	 = "";
	m_maintance	= "";
	m_color  = "";
	m_remark = "";

	UpdateData(false);

	m_nSechType = 0;
	this->pBindList();	
}

void ProductDlg::OnClickListPro(NMHDR* pNMHDR, LRESULT* pResult) 
{
	CString s[7];
	int num = m_listCtr.GetSelectionMark();//获当前行值
	for(int i=0;i <= 6;i++)
	{
		s[i] = m_listCtr.GetItemText(num,i);//"i"表示列号
	}

	m_pID	 = s[0]; 
	m_name   = s[1];
	m_price	 = s[2];
	m_maintance	= s[3];
	m_color  = s[4];
	m_remark = s[5];

	UpdateData(false);


	*pResult = 0;
}

void ProductDlg::OnOderSearch() //客户订单查询
{
	SearOderDlg *seoderdlg = new SearOderDlg;
	seoderdlg->Create(IDD_SEAR_ODERINFO);
	seoderdlg->ShowWindow(SW_NORMAL);
}

void ProductDlg::OnOderEdit()//客户订单签订
{
	OderEditDlg *oderEditdlg = new OderEditDlg;//用new为对话框分配内存
	oderEditdlg->Create(IDD_ODEREDIT_DLG);       //创建无模式对话框
	oderEditdlg->ShowWindow(SW_NORMAL);			 //显示对话框
}



void ProductDlg::OnPriinfo() //客户私人信息管理
{
	CliInfoDlg dlg;
	dlg.modfy = 1;//判断哪次调用
	dlg.DoModal();
}

void ProductDlg::OnOncancle() 
{
		ADOConn conn;
	_bstr_t strSQL;
	
	try{
		//如果Concection对象为空,则重新连接
		if(conn.m_pConn == NULL)
			conn.OnInitADOConn();
	
		//编辑SQL语句
		strSQL = "UPDATE ClientMessage SET currState = 0";
		
		//执行SQL语句
		conn.ExecuteSQL(strSQL);
		conn.ExitConnect();
	}
	catch(_com_error e)
	{
		AfxMessageBox("ok"+e.Description());
	}
	if(cSe)
	{
	if(MessageBox("是否确定退出?","请确认",MB_YESNO) == IDYES)
	CDialog::OnOK();
	cSe = true;
	
	}
	else CDialog::OnOK();
}



HBRUSH ProductDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	//HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
	
COLORREF backColor = RGB(231, 231, 231); //office 2003背景色 
pDC->SetBkMode(TRANSPARENT);                //设置控件背景透明 
return CreateSolidBrush(backColor);            //创建背景刷子 	
	// TODO: Return a different brush if the default is not desired
	//return hbr;

	//HBRUSH hbr = CDialog::OnCtlColor(pDC,pWnd,nCtlColor); 
//pDC->SetBkMode(TRANSPARENT);   
//return    (HBRUSH)GetStockObject(NULL_BRUSH);   
}

void ProductDlg::OnAa() 
{
		SendOderDlg dlg;
	dlg.DoModal();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -