📄 indentdialog.cpp
字号:
// IndentDialog.cpp : implementation file
//
#include "stdafx.h"
#include "短信群发.h"
#include "IndentDialog.h"
#include "into.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CIndentDialog dialog
CIndentDialog::CIndentDialog(CWnd* pParent /*=NULL*/)
: CDialog(CIndentDialog::IDD, pParent)
{
//{{AFX_DATA_INIT(CIndentDialog)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CIndentDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CIndentDialog)
DDX_Control(pDX, IDC_INDENT_TAB, m_indentTab);
DDX_Control(pDX, IDC_INDENT_LIST, m_stateList);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CIndentDialog, CDialog)
//{{AFX_MSG_MAP(CIndentDialog)
ON_WM_DESTROY()
ON_NOTIFY(TCN_SELCHANGE, IDC_INDENT_TAB, OnSelchangeTab1)
ON_NOTIFY(LVN_ITEMCHANGED, IDC_INDENT_LIST, OnItemchangedIndentList)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CIndentDialog message handlers
BOOL CIndentDialog::OnInitDialog()
{
CDialog::OnInitDialog();
//初始化标签控件
m_addIndent = new CAddIndent();
m_detelIndent = new CDetelIndent();
m_resIndent = new CResearchIndent();
m_addIndent->Create(IDD_ADD_INDENT,GetDlgItem(IDC_INDENT_TAB));
m_detelIndent->Create(IDD_DETEL_INDENT,GetDlgItem(IDC_INDENT_TAB));
m_resIndent->Create(IDD_RESEARCH_INDENT,GetDlgItem(IDC_INDENT_TAB));
m_indentTab.InsertItem(0,"添加新订单");
m_indentTab.InsertItem(1,"修改或者删除订单");
m_indentTab.InsertItem(2,"订单查询");
m_indentTab.SetMinTabWidth(80);
m_indentTab.SetPadding(CSize(2,3));
m_indentTab.SetCurSel(0);
DoTab(0);
//初始化列表视图
LV_COLUMN lvc;
char *display[6]={"订单ID","开始日期","结束时间","开始时段","结束时段","订单内容"};
lvc.mask=LVCF_FMT|LVCF_TEXT|LVCF_SUBITEM|LVCF_WIDTH;
lvc.fmt=LVCFMT_LEFT;
lvc.cx=111;
for(int i=0;i<6;i++)
{ //插入各列
lvc.iSubItem=i;
lvc.pszText=display[i];
m_stateList.InsertColumn(i,&lvc);
}
printList();
m_stateList.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CIndentDialog::DoTab(int nTab)
{
if (nTab>2) nTab=2;
if (nTab<0) nTab=0;
BOOL bTab[3];
bTab[0]=bTab[1]=bTab[2]=false;
bTab[nTab]=true;
SetDlgState(m_addIndent,bTab[0]);
SetDlgState(m_detelIndent,bTab[1]);
SetDlgState(m_resIndent,bTab[2]);
}
void CIndentDialog::OnDestroy()
{
CDialog::OnDestroy();
if(m_addIndent) delete m_addIndent;
if(m_detelIndent) delete m_detelIndent;
if(m_resIndent) delete m_resIndent;
}
void CIndentDialog::SetDlgState(CWnd *pWnd, BOOL bShow)
{
pWnd->EnableWindow(bShow);
if(bShow)
{
pWnd->ShowWindow(SW_SHOW);
pWnd->CenterWindow();
}
else
pWnd->ShowWindow(SW_HIDE);
}
BOOL CIndentDialog::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message==WM_KEYDOWN)
{
if (pMsg->wParam==VK_RETURN) return TRUE;
if (pMsg->wParam==VK_ESCAPE) return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
void CIndentDialog::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult)
{
int curSel;
curSel=m_indentTab.GetCurSel();
if(curSel>=0)
{
DoTab(curSel);
if (curSel==0)
{
printList();
}
}
*pResult = 0;
}
void CIndentDialog::printList()
{
int ID;
CString strID;
COleDateTime beginTime;
COleDateTime endTime;
CString strBeginDay;
CString strEndDay;
CString strBeginTime;
CString strEndTime;
CString strMessage;
CString strSql;
CADORecordset record;
LV_ITEM lvi;
int count =0;
lvi.mask=LVIF_TEXT;
strSql=_T("select * from ORDERS");
m_stateList.DeleteAllItems();
BOOL ret=record.Open(db.m_pConnection,strSql,0);
if (ret)
{
if (!record.IsBof())
{
record.MoveFirst();
}
m_stateList.DeleteAllItems();
while (!record.IsEof())
{
lvi.iSubItem=0;
lvi.iItem=count;
record.GetFieldValue("ID",ID);
record.GetFieldValue("ORDERSTART",beginTime);
record.GetFieldValue("ORDEREND",endTime);
record.GetFieldValue("CONTENT",strMessage);
strID.Format("%d",ID);
strBeginDay=beginTime.Format("%Y-%m-%d");
strBeginTime=beginTime.Format("%H:%M");
strEndDay=endTime.Format("%Y-%m-%d");
strEndTime=endTime.Format("%H:%M");
lvi.pszText=(LPTSTR)(LPCTSTR)strID;
m_stateList.InsertItem(&lvi);
m_stateList.SetItemText(count,1,strBeginDay);
m_stateList.SetItemText(count,2,strEndDay);
m_stateList.SetItemText(count,3,strBeginTime);
m_stateList.SetItemText(count,4,strEndTime);
m_stateList.SetItemText(count,5,strMessage);
record.MoveNext();
count++;
}
}
else
{
AfxMessageBox("读取数据失败!");
}
}
void CIndentDialog::OnItemchangedIndentList(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
CString strTemp;
if(pNMListView->uNewState==0)
{
m_detelIndent->m_id=-1;
m_detelIndent->m_messageStr.Empty();
m_detelIndent->m_startDay1=COleDateTime::GetCurrentTime();
m_detelIndent->m_startTime1=COleDateTime::GetCurrentTime();
m_detelIndent->m_endDay1=COleDateTime::GetCurrentTime();
m_detelIndent->m_endTime1=COleDateTime::GetCurrentTime();
m_detelIndent->UpdateData(FALSE);
return;
}
strTemp=m_stateList.GetItemText(pNMListView->iItem,0);
m_detelIndent->m_id=atoi(strTemp);
strTemp=m_stateList.GetItemText(pNMListView->iItem,1);
m_detelIndent->m_startDay1.ParseDateTime(strTemp);
strTemp=m_stateList.GetItemText(pNMListView->iItem,2);
m_detelIndent->m_endDay1.ParseDateTime(strTemp);
strTemp=m_stateList.GetItemText(pNMListView->iItem,3);
m_detelIndent->m_startTime1.ParseDateTime(strTemp);
strTemp=m_stateList.GetItemText(pNMListView->iItem,4);
m_detelIndent->m_endTime1.ParseDateTime(strTemp);
m_detelIndent->m_messageStr=m_stateList.GetItemText(pNMListView->iItem,5);
m_detelIndent->UpdateData(false);
*pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -