📄 trainteckitbookview.cpp
字号:
// trainteckitbookView.cpp : implementation of the CTrainteckitbookView class
//
#include "stdafx.h"
#include "trainteckitbook.h"
#include "teckitinforSet.h"
#include "trainteckitbookSet.h"
#include "trainteckitbookDoc.h"
#include "trainteckitbookView.h"
#include "TicketDlg.h"
#include "Pass.h"
#define TYPE_COUNT 2
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CTrainteckitbookView
bool SelChange_b = false;
bool SelChange_bounce = false;
IMPLEMENT_DYNCREATE(CTrainteckitbookView, CRecordView)
BEGIN_MESSAGE_MAP(CTrainteckitbookView, CRecordView)
//{{AFX_MSG_MAP(CTrainteckitbookView)
ON_BN_CLICKED(IDC_BUTTON_refresh, OnBUTTONrefresh)
ON_BN_CLICKED(IDC_BUTTON_search, OnBUTTONsearch)
ON_BN_CLICKED(IDC_BUTTON_book, OnBUTTONbook)
ON_BN_CLICKED(IDC_BUTTON_bounce, OnBUTTONbounce)
ON_CBN_SELCHANGE(IDC_COMBO_ticketype_b, OnSelchangeCOMBOticketypeb)
ON_CBN_SELCHANGE(IDC_COMBO_CBticketype_bounce, OnSelchangeCOMBOCBticketypebounce)
ON_BN_CLICKED(IDC_BUTTON_cancel_bounce, OnBUTTONcancelbounce)
ON_BN_CLICKED(IDC_BUTTON_modefy, OnBUTTONmodefy)
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CRecordView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CRecordView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CRecordView::OnFilePrintPreview)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTrainteckitbookView construction/destruction
CTrainteckitbookView::CTrainteckitbookView()
: CRecordView(CTrainteckitbookView::IDD)
{
//{{AFX_DATA_INIT(CTrainteckitbookView)
m_pset = NULL;
m_fromw_s = _T("");
m_tow_s = _T("");
m_trainnum_bounce = _T("");
m_ticketnum_bounce = _T("");
m_seatnum_bounce = 0;
m_current_time = COleDateTime::GetCurrentTime();
m_start_time_b = COleDateTime::GetCurrentTime();
m_train_num_b = _T("");
//}}AFX_DATA_INIT
// TODO: add construction code here
}
CTrainteckitbookView::~CTrainteckitbookView()
{
}
void CTrainteckitbookView::DoDataExchange(CDataExchange* pDX)
{
CRecordView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CTrainteckitbookView)
DDX_Control(pDX, IDC_COMBO_CBticketype_bounce, m_CBticketype_bounce);
DDX_Control(pDX, IDC_MSFLEXGRID_sitinfo, m_MSFGrid_sitinfo);
DDX_Control(pDX, IDC_MSFLEXGRID_tec, m_MSFGrid_tec);
DDX_Text(pDX, IDC_EDIT_fromw_s, m_fromw_s);
DDX_Text(pDX, IDC_EDIT_tow_s, m_tow_s);
DDX_Control(pDX, IDC_COMBO_ticketype_b, m_CBticketype_b);
DDX_Text(pDX, IDC_EDIT_trainnum_bounce, m_trainnum_bounce);
DDX_Text(pDX, IDC_EDIT_ticketnum_bounce, m_ticketnum_bounce);
DDX_Text(pDX, IDC_EDIT_seatnum_bounce, m_seatnum_bounce);
DDX_Text(pDX, IDC_EDIT_current_time, m_current_time);
DDX_Text(pDX, IDC_EDIT_start_time_b, m_start_time_b);
DDX_Text(pDX, IDC_EDIT_train_num_b, m_train_num_b);
//}}AFX_DATA_MAP
}
BOOL CTrainteckitbookView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CRecordView::PreCreateWindow(cs);
}
void CTrainteckitbookView::OnInitialUpdate()
{
m_pset = &GetDocument()->m_trainteckitbookSet;
m_pteckitinforSet = &GetDocument()->m_teckitinforSet;
CRecordView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
////////////////////////////////////////////////////////////////////add by w 1 .10
//
if(!(m_pset->IsOpen()))
{
m_pset->Open(); // 打开记录集
}
if(!(m_pteckitinforSet->IsOpen()))
{
m_pteckitinforSet->Open(); // 打开记录集
}
///////////////////////////////////
ShowSitInfor(); //显示站点信息
/////////////////////////////////// 显示票务信息
ShowTecInfor();
///////////////////////////////////
CString str[TYPE_COUNT]={"硬座","卧铺"}; // TYPE_COUNT 2
int nIndex;
for(int i=0;i<TYPE_COUNT;i++)
{
nIndex = m_CBticketype_b.AddString(str[i]);
m_CBticketype_b.SetItemData(nIndex,i);
nIndex = m_CBticketype_bounce.AddString(str[i]);
m_CBticketype_bounce.SetItemData(nIndex,i);
}
}
/////////////////////////////////////////////////////////////////////////////
// CTrainteckitbookView printing
BOOL CTrainteckitbookView::OnPreparePrinting(CPrintInfo* pInfo)
{
// default preparation
return DoPreparePrinting(pInfo);
}
void CTrainteckitbookView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add extra initialization before printing
}
void CTrainteckitbookView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add cleanup after printing
}
/////////////////////////////////////////////////////////////////////////////
// CTrainteckitbookView diagnostics
#ifdef _DEBUG
void CTrainteckitbookView::AssertValid() const
{
CRecordView::AssertValid();
}
void CTrainteckitbookView::Dump(CDumpContext& dc) const
{
CRecordView::Dump(dc);
}
CTrainteckitbookDoc* CTrainteckitbookView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CTrainteckitbookDoc)));
return (CTrainteckitbookDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CTrainteckitbookView database support
CRecordset* CTrainteckitbookView::OnGetRecordset()
{
return m_pset;
}
/////////////////////////////////////////////////////////////////////////////
// CTrainteckitbookView message handlers
void CTrainteckitbookView::OnBUTTONrefresh()
{
// TODO: Add your control notification handler code here
ShowSitInfor();
}
void CTrainteckitbookView::ShowSitInfor() // 实现 打印站点信息
{
if(!NoRecord(m_pset))//record exist
{
int i=0;
for(m_pset->MoveFirst();!m_pset->IsEOF();m_pset->MoveNext())
{
i++;
}
m_pset->MoveFirst();
m_MSFGrid_sitinfo.SetCols(m_pset->m_nFields+5); // 5 并无实际意义 只需大于1即可
m_MSFGrid_sitinfo.SetRows(m_pset->GetRecordCount()+1);
m_MSFGrid_sitinfo.SetColWidth(-1,1440);
m_MSFGrid_sitinfo.SetRow(0);
m_MSFGrid_sitinfo.SetCol(1);
m_MSFGrid_sitinfo.SetText("起点站");
m_MSFGrid_sitinfo.SetCol(2);
m_MSFGrid_sitinfo.SetRow(0);
m_MSFGrid_sitinfo.SetText("中途站点");
m_MSFGrid_sitinfo.SetCol(3);
m_MSFGrid_sitinfo.SetRow(0);
m_MSFGrid_sitinfo.SetText("终点站");
m_MSFGrid_sitinfo.SetRow(0);
m_MSFGrid_sitinfo.SetCol(4);
m_MSFGrid_sitinfo.SetText("备注");
int iRow=1;
while(!m_pset->IsEOF())
{
CString str;
str.Format("记录%d",iRow);
m_MSFGrid_sitinfo.SetRow(iRow);
m_MSFGrid_sitinfo.SetCol(0);
m_MSFGrid_sitinfo.SetText(str);
m_MSFGrid_sitinfo.SetRow(iRow);
m_MSFGrid_sitinfo.SetCol(1);
m_MSFGrid_sitinfo.SetText(m_pset->m_from_sit);
m_MSFGrid_sitinfo.SetRow(iRow);
m_MSFGrid_sitinfo.SetCol(2);
m_MSFGrid_sitinfo.SetText(m_pset->m_pass_sit);
m_MSFGrid_sitinfo.SetRow(iRow);
m_MSFGrid_sitinfo.SetCol(3);
m_MSFGrid_sitinfo.SetText(m_pset->m_to_sit);
m_MSFGrid_sitinfo.SetRow(iRow);
m_MSFGrid_sitinfo.SetCol(4);
m_MSFGrid_sitinfo.SetText(m_pset->m_infor_sit);
iRow++;
m_pset->MoveNext();
}
m_MSFGrid_sitinfo.SetRow(1); m_MSFGrid_sitinfo.SetCol(1);
m_pset->MoveFirst();
}
else
{
AfxMessageBox("对不起!没有结果显示!",0,0);
return;
}
}
void CTrainteckitbookView::ShowTecInfor() // 实现 打印车票信息
{
if(!NoRecord(m_pteckitinforSet))//record exist
{
m_pteckitinforSet->MoveFirst();
while(!m_pteckitinforSet->IsEOF())
{
if(m_pteckitinforSet->m_train_num != _T(""))
{
m_pteckitinforSet->MoveNext();
}
}
}
else
{
AfxMessageBox("对不起!没有你要查询的记录!",0,0);
return;
}
int j=0;
for(m_pset->MoveFirst();!m_pset->IsEOF();m_pset->MoveNext())
{
j++;
}
m_MSFGrid_tec.SetCols(m_pteckitinforSet->m_nFields+1);
m_MSFGrid_tec.SetRows(m_pteckitinforSet->GetRecordCount()+1);
m_MSFGrid_tec.SetColWidth(-1,2880);
m_MSFGrid_tec.SetRow(0);
m_MSFGrid_tec.SetCol(1);
m_MSFGrid_tec.SetText("车次");
m_MSFGrid_tec.SetRow(0);
m_MSFGrid_tec.SetCol(2);
m_MSFGrid_tec.SetText("起点站");
m_MSFGrid_tec.SetRow(0);
m_MSFGrid_tec.SetCol(3);
m_MSFGrid_tec.SetText("中途站点");
m_MSFGrid_tec.SetRow(0);
m_MSFGrid_tec.SetCol(4);
m_MSFGrid_tec.SetText("终点站");
m_MSFGrid_tec.SetRow(0);
m_MSFGrid_tec.SetCol(5);
m_MSFGrid_tec.SetText("出发时间");
m_MSFGrid_tec.SetRow(0);
m_MSFGrid_tec.SetCol(6);
m_MSFGrid_tec.SetText("硬座票数");
m_MSFGrid_tec.SetRow(0);
m_MSFGrid_tec.SetCol(7);
m_MSFGrid_tec.SetText("硬座票价");
m_MSFGrid_tec.SetRow(0);
m_MSFGrid_tec.SetCol(8);
m_MSFGrid_tec.SetText("卧铺票数");
m_MSFGrid_tec.SetRow(0);
m_MSFGrid_tec.SetCol(9);
m_MSFGrid_tec.SetText("卧铺票价");
m_pteckitinforSet->MoveFirst();
int iRow=1;
while(!m_pteckitinforSet->IsEOF())
{
CString str;
CString strtemp;
str.Format("记录%d",iRow);
m_MSFGrid_tec.SetRow(iRow);
m_MSFGrid_tec.SetCol(0);
m_MSFGrid_tec.SetText(str);
m_MSFGrid_tec.SetRow(iRow);
m_MSFGrid_tec.SetCol(1);
m_MSFGrid_tec.SetText(m_pteckitinforSet->m_train_num);
m_MSFGrid_tec.SetRow(iRow);
m_MSFGrid_tec.SetCol(2);
m_MSFGrid_tec.SetText(m_pteckitinforSet->m_from);
m_MSFGrid_tec.SetRow(iRow);
m_MSFGrid_tec.SetCol(3);
m_MSFGrid_tec.SetText(m_pteckitinforSet->m_pass);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -