📄 carlist.cpp
字号:
// CarList.cpp : 实现文件
//
#include "stdafx.h"
#include "ProjectManage.h"
#include "CarList.h"
#include "CarEdit.h"
// CCarList 对话框
IMPLEMENT_DYNAMIC(CCarList, CDialog)
CCarList::CCarList(CWnd* pParent /*=NULL*/)
: CDialog(CCarList::IDD, pParent)
{
}
CCarList::~CCarList()
{
}
void CCarList::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LIST1, m_oListmateriel);
DDX_Control(pDX, IDC_FRAME, m_frame);
}
BEGIN_MESSAGE_MAP(CCarList, CDialog)
ON_BN_CLICKED(IDC_BUTTON1, &CCarList::OnBnClickedButton1)
ON_NOTIFY(NM_CLICK, IDC_LIST1, &CCarList::OnNMClickList1)
ON_WM_SIZE()
END_MESSAGE_MAP()
// CCarList 消息处理程序
void CCarList::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
if(theApp.ProjID!="")
{
CCarEdit frm;
frm.DoModal();
LoadDataView();
}
else
{
AfxMessageBox("请选择基本信息");
return;
}
}
BOOL CCarList::OnInitDialog()
{
CDialog::OnInitDialog();
DWORD dwStyle;
RECT rect;
LV_COLUMN lvc;
dwStyle = m_oListmateriel.GetStyle();
dwStyle |= LVS_EX_GRIDLINES |LVS_EX_FULLROWSELECT|LVS_SHOWSELALWAYS ;
m_oListmateriel.SetExtendedStyle(dwStyle);
m_oListmateriel.GetClientRect(&rect);
lvc.mask = LVCF_TEXT | LVCF_SUBITEM | LVCF_WIDTH |LVCF_FMT;
lvc.fmt=LVCFMT_LEFT;
lvc.iSubItem = 0;
lvc.pszText = _T("编号");
lvc.cx = 50;
m_oListmateriel.InsertColumn(1,&lvc);
lvc.iSubItem = 1;
lvc.pszText = _T("日期");
lvc.cx = 80;
m_oListmateriel.InsertColumn(2,&lvc);
lvc.iSubItem = 2;
lvc.pszText = _T("里程");
lvc.cx = 80;
m_oListmateriel.InsertColumn(3,&lvc);
lvc.iSubItem = 3;
lvc.pszText = _T("车号");
lvc.cx = 100;
m_oListmateriel.InsertColumn(4,&lvc);
lvc.iSubItem = 4;
lvc.pszText = _T("司机");
lvc.cx = 90;
m_oListmateriel.InsertColumn(5,&lvc);
lvc.iSubItem = 5;
lvc.pszText = _T("项目名称");
lvc.cx = 90;
m_oListmateriel.InsertColumn(6,&lvc);
if(theApp.ProjID!="")
{
LoadDataView();
}
// TODO: 在此添加额外的初始化
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
void CCarList::LoadDataView(void)
{
m_oListmateriel.DeleteAllItems();
int numline=0;
this->m_Storage.OpenSql("CarCost","CarCost.ID, CarCost.SDateTime, CarCost.Milemeter, CarCost.VehicleCode, CarCost.Chauffeur, ProjectTab.ProjectName","INNER JOIN ProjectTab ON CarCost.ProjID = ProjectTab.ProjectID where CarCost.ProjID="+theApp.ProjID+"");
if(!this->m_Storage.IsEof())
{
this->m_Storage.MoveFirst();
LV_ITEM lvitem;
lvitem.pszText="";
lvitem.mask=LVIF_TEXT;
lvitem.iSubItem=0;
this->m_Storage.MoveFirst();
CString name;
int nColumnCount=m_oListmateriel.GetHeaderCtrl()->GetItemCount();
while(!this->m_Storage.IsEof())
{
lvitem.iItem=numline;
m_oListmateriel.InsertItem(&lvitem);
for(int i=0;i<nColumnCount;i++)
{
this->m_Storage.GetFieldValue(i,name);
m_oListmateriel.SetItemText(numline,i,(LPCTSTR)(_bstr_t)name);
}
numline++;
this->m_Storage.MoveNext();
}
}
}
void CCarList::OnNMClickList1(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: 在此添加控件通知处理程序代码
CString mList[5];
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
if(pNMListView->iItem != -1)
{
CString ID,strDataTime,mLichen,mChehao,mSiji;
ID=m_oListmateriel.GetItemText(pNMListView->iItem,0);
mList[0]=ID;
strDataTime=m_oListmateriel.GetItemText(pNMListView->iItem,1);
mList[1]=strDataTime;
mLichen=m_oListmateriel.GetItemText(pNMListView->iItem,2);
mList[2]=mLichen;
mChehao=m_oListmateriel.GetItemText(pNMListView->iItem,3);
mList[3]=mChehao;
mSiji=m_oListmateriel.GetItemText(pNMListView->iItem,4);
mList[4]=mSiji;
CCarEdit frm;
for(int i=0;i<5;i++)
{
frm.SList[i]=mList[i];
}
frm.DoModal();
LoadDataView();
}
*pResult = 0;
}
void CCarList::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
if(m_oListmateriel.GetSafeHwnd() == NULL)return;
CRect rc;
//获得组控件的尺寸
CRect rect;
GetClientRect(&rect);
//m_frame.GetWindowRect(rc);
//转换坐标系
//ScreenToClient(rc);
//改变list的尺寸
rect.top=40;
m_oListmateriel.MoveWindow(&rect);
// TODO: 在此处添加消息处理程序代码
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -