📄 productdlg.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 + -