📄 ordermanager.cpp
字号:
// OrderManager.cpp : implementation file
//
#include "stdafx.h"
#include "notesendsystem.h"
#include "OrderManager.h"
#include "AdoRecordSet.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// COrderManager dialog
COrderManager::COrderManager(CWnd* pParent /*=NULL*/)
: CDialog(COrderManager::IDD, pParent)
{
//{{AFX_DATA_INIT(COrderManager)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void COrderManager::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(COrderManager)
DDX_Control(pDX, IDC_ORDER_LIST, m_list);
DDX_Control(pDX, IDC_TAB, m_tab);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(COrderManager, CDialog)
//{{AFX_MSG_MAP(COrderManager)
ON_WM_CLOSE()
ON_NOTIFY(TCN_SELCHANGE, IDC_TAB, OnSelchangeTab)
ON_NOTIFY(NM_CLICK, IDC_ORDER_LIST, OnClickOrderList)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// COrderManager message handlers
void COrderManager::OnOK()
{
// TODO: Add extra validation here
// CDialog::OnOK();
}
void COrderManager::OnCancel()
{
// TODO: Add extra cleanup here
}
void COrderManager::OnClose()
{
// TODO: Add your message handler code here and/or call default
delete addorder;
delete ordersearch;
delete amendorder;
CDialog::OnCancel();
CDialog::OnClose();
}
BOOL COrderManager::OnInitDialog()
{
CDialog::OnInitDialog();
addorder = new CPageAddOrder;
ordersearch = new CPageOrderSearch;
amendorder = new CPageAmendOrder;
if (!amendorder->m_hWnd || !ordersearch->m_hWnd || !addorder->m_hWnd)
{
m_tab.InsertItem(0, "添加订单");
m_tab.InsertItem(1, "修改/删除订单");
m_tab.InsertItem(2, "订单查询"); //只有管理员可以修改删除帐户
addorder->Create(IDP_ADD_ORDER, &m_tab);
amendorder->Create(IDP_AMEND_ORDER, &m_tab);
ordersearch->Create(IDP_ORDER_SEARCH,&m_tab);
//设置页面的位置在m_tab控件范围内
CRect rs;
m_tab.GetClientRect(rs);
rs.top+=20;
rs.bottom-=4;
rs.left+=4;
rs.right-=4;
addorder->MoveWindow(rs);
amendorder->MoveWindow(rs);
ordersearch->MoveWindow(rs);
addorder->ShowWindow(TRUE);
m_tab.SetCurSel(0);
}
//初始化列表控件
m_list.ModifyStyle(0, LVS_REPORT);
CString str[6] = {"订单ID", "开始日期", "发送日期", "开始时间", "发送时间", "订单内容"};
int i;
for (i = 0; i < 6; i++)
{
m_list.InsertColumn(i, str[i], LVCFMT_LEFT, 85);
}
m_list.SetExtendedStyle(m_list.GetExtendedStyle() | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
UpdateOrderList();
//updateOrderList(0 , 0);
return TRUE;
}
void COrderManager::OnSelchangeTab(NMHDR* pNMHDR, LRESULT* pResult)
{
int CulSel = m_tab.GetCurSel();
switch(CulSel)
{
case 0:
addorder->ShowWindow(TRUE);
amendorder->ShowWindow(FALSE);
ordersearch->ShowWindow(FALSE);
break;
case 1:
addorder->ShowWindow(FALSE);
amendorder->ShowWindow(TRUE);
ordersearch->ShowWindow(FALSE);
break;
case 2:
addorder->ShowWindow(FALSE);
amendorder->ShowWindow(FALSE);
ordersearch->ShowWindow(TRUE);
break;
default:
break;
}
*pResult = 0;
}
//DEL UINT COrderManager::updateOrderList(WPARAM w, LPARAM l)
//DEL {
//DEL m_list.DeleteAllItems();
//DEL
//DEL CString str;
//DEL CNoteSendSystemApp *pApp = (CNoteSendSystemApp *)AfxGetApp();
//DEL int len = pApp->OrderListVect.size();
//DEL for (int i=0; i<len; i++)
//DEL {
//DEL str.Format("%d", pApp->OrderListVect[i].order_id);
//DEL m_list.InsertItem(i, str);
//DEL str.Empty();
//DEL
//DEL str.Format("%s", pApp->OrderListVect[i].start_date);
//DEL m_list.SetItemText(i, 1, str);
//DEL str.Empty();
//DEL
//DEL str.Format("%s", pApp->OrderListVect[i].end_date);
//DEL m_list.SetItemText(i, 2, str);
//DEL str.Empty();
//DEL
//DEL // str.Format("%s", pApp->OrderListVect[i].start_time);
//DEL m_list.SetItemText(i, 3, str);
//DEL str.Empty();
//DEL
//DEL // str.Format("%s", pApp->OrderListVect[i].end_time);
//DEL m_list.SetItemText(i, 4, str);
//DEL str.Empty();
//DEL
//DEL str.Format("%s", pApp->OrderListVect[i].content);
//DEL m_list.SetItemText(i, 5, str);
//DEL str.Empty();
//DEL }
//DEL return 1;
//DEL }
void COrderManager::OnClickOrderList(NMHDR* pNMHDR, LRESULT* pResult)
{
CString temp;
CString start_date;
CString start_time;
CString end_date;
CString end_time;
CString content;
int nItem;
int id;
POSITION pos = m_list.GetFirstSelectedItemPosition();
nItem = m_list.GetNextSelectedItem(pos);
if (nItem == -1)
{
return;
}
// 获取当前点击的信息
//ID
temp = m_list.GetItemText(nItem, 0);
//开始日期
start_date = m_list.GetItemText(nItem, 1);
//结束日期
end_date = m_list.GetItemText(nItem, 2);
//开始时间
start_time = m_list.GetItemText(nItem, 3);
//结束时间
end_time = m_list.GetItemText(nItem, 4);
//内容
content = m_list.GetItemText(nItem, 5);
amendorder->m_start_date_v = CStringToCOleDateTime(start_date);
amendorder->m_start_time_v = CStringToCOleDateTime(start_time);
amendorder->m_end_date_v = CStringToCOleDateTime(end_date);
amendorder->m_end_time_v = CStringToCOleDateTime(end_time);
amendorder->m_content = content;
amendorder->UpdateData(FALSE);
id = atoi(temp);
amendorder->SendMessage(WM_UPDATDATE, id, 1);
addorder->SendMessage(WM_CULORDERID, id, 0);
*pResult = 0;
}
void COrderManager::UpdateOrderList()
{
m_list.DeleteAllItems();
CString str;
CString command;
CAdoRecordSet record;
OrderList list;
command.Format("select * from Orders");
//
CNoteSendSystemApp *pApp = (CNoteSendSystemApp *)AfxGetApp();
//读取订单表
pApp->m_pConnection.GetRecordSet(command, record);
while (!record.IsEof())
{
record.GetValue("ID", list.order_id);
record.GetValue("OrderStart", list.start_date);
record.GetValue("OrderEnd", list.end_date);
record.GetValue("Content", list.content);
pApp->OrderListVect.push_back(list);
record.MoveNext();
}
//显示订单表
int len = pApp->OrderListVect.size();
for (int i=0; i<len; i++)
{
str.Format("%d", pApp->OrderListVect[i].order_id);
m_list.InsertItem(i, str);
str.Empty();
//开始日期
str = pApp->OrderListVect[i].start_date.Format("%Y-%m-%d");
m_list.SetItemText(i, 1, str);
str.Empty();
//结束日期
str = pApp->OrderListVect[i].end_date.Format("%Y-%m-%d");
m_list.SetItemText(i, 2, str);
str.Empty();
//开始时间
str = pApp->OrderListVect[i].start_date.Format("%H:%M:%S");
m_list.SetItemText(i, 3, str);
str.Empty();
//结束时间
str = pApp->OrderListVect[i].end_date.Format("%H:%M:%S");
m_list.SetItemText(i, 4, str);
str.Empty();
//内容
str.Format("%s", pApp->OrderListVect[i].content);
m_list.SetItemText(i, 5, str);
str.Empty();
}
pApp->OrderListVect.clear();
}
COleDateTime COrderManager::CStringToCOleDateTime(CString &str)
{
COleVariant vtime(str);
vtime.ChangeType(VT_DATE);
COleDateTime times=vtime;
return times;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -