📄 usercost.cpp
字号:
// UserCost.cpp : 实现文件
//
#include "stdafx.h"
#include "ProjectManage.h"
#include "UserCost.h"
#include "PowerUserCost.h"
// CUserCost 对话框
IMPLEMENT_DYNAMIC(CUserCost, CDialog)
CUserCost::CUserCost(CWnd* pParent /*=NULL*/)
: CDialog(CUserCost::IDD, pParent)
{
}
CUserCost::~CUserCost()
{
}
void CUserCost::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LIST1, m_oListmateriel);
}
BEGIN_MESSAGE_MAP(CUserCost, CDialog)
ON_BN_CLICKED(IDC_BUTTON1, &CUserCost::OnBnClickedButton1)
ON_NOTIFY(NM_CLICK, IDC_LIST1, &CUserCost::OnNMClickList1)
ON_WM_SIZE()
END_MESSAGE_MAP()
// CUserCost 消息处理程序
void CUserCost::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
if(theApp.ProjID!="")
{
m_oListmateriel.DeleteAllItems();
CPowerUserCost* frm;
frm=new CPowerUserCost();
frm->DoModal();
LoadDataView();
}
else
{
MessageBox("请选择基本信息!");
return;
}
}
BOOL CUserCost::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 CUserCost::LoadDataView(void)
{
m_oListmateriel.DeleteAllItems();
int numline=0;
this->m_Storage.OpenSql("ManPowerCost","ManPowerCost.ID, ManPowerCost.EmpNumber, ManPowerCost.SubsidyCost, ManPowerCost.OtherCost, ManPowerCost.ServiceDatetime, ProjectTab.ProjectName","INNER JOIN ProjectTab ON ManPowerCost.ProjID = ProjectTab.ProjectID where ManPowerCost.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 CUserCost::OnNMClickList1(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: 在此添加控件通知处理程序代码
CString mList[5];
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
if(pNMListView->iItem != -1)
{
CString ID,strempnumber,sCost,othercost,mdateTime;
ID=m_oListmateriel.GetItemText(pNMListView->iItem,0);
mList[0]=ID;
strempnumber=m_oListmateriel.GetItemText(pNMListView->iItem,1);
mList[1]=strempnumber;
sCost=m_oListmateriel.GetItemText(pNMListView->iItem,2);
mList[2]=sCost;
othercost=m_oListmateriel.GetItemText(pNMListView->iItem,3);
mList[3]=othercost;
mdateTime=m_oListmateriel.GetItemText(pNMListView->iItem,4);
mList[4]=mdateTime;
CPowerUserCost frm;
for(int i=0;i<5;i++)
{
frm.SList[i]=mList[i];
}
frm.DoModal();
LoadDataView();
}
*pResult = 0;
}
void CUserCost::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 + -