📄 czgqndlg.cpp
字号:
// Czgqndlg.cpp : implementation file
//
#include "stdafx.h"
#include "new3.h"
#include "Czgqndlg.h"
#include "Cgongziset.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CCzgqndlg dialog
CCzgqndlg::CCzgqndlg(CWnd* pParent /*=NULL*/)
: CDialog(CCzgqndlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CCzgqndlg)
m_chanxunid = _T("");
m_quannianstatic = _T("");
//}}AFX_DATA_INIT
}
void CCzgqndlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CCzgqndlg)
DDX_Control(pDX, IDC_SELECTY, m_selecty);
DDX_Control(pDX, IDOK, m_chaxunok);
DDX_Control(pDX, IDC_CHAXUNGO, m_chaxun);
DDX_Control(pDX, IDC_QUANNIANLIST, m_quannianlist);
DDX_Text(pDX, IDC_CHANXUNID, m_chanxunid);
DDX_Text(pDX, IDC_QUANNIANSTATIC, m_quannianstatic);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CCzgqndlg, CDialog)
//{{AFX_MSG_MAP(CCzgqndlg)
ON_BN_CLICKED(IDC_CHAXUNGO, OnChaxungo)
ON_EN_CHANGE(IDC_CHANXUNID, OnChangeChanxunid)
ON_CBN_SELCHANGE(IDC_SELECTY, OnSelchangeSelecty)
ON_BN_CLICKED(IDC_PRINT1, OnPrint1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCzgqndlg message handlers
BOOL CCzgqndlg::OnInitDialog()
{
CDialog::OnInitDialog();
int index;
CString sly;
for(int h=1990;h<=2200;h++)
{
sly.Format("%d",h);
index=m_selecty.AddString(sly);
m_selecty.SetItemData(index,h);
}
m_selecty.SetCurSel(0);
qnall_set.Open();
qnall_set.MoveFirst();
m_quannianlist.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_quannianlist.SetTextColor(RGB(0,0,255));
qn_bitmap1.LoadBitmap(IDB_BITMAP11);
m_chaxun.SetBitmap((HBITMAP)qn_bitmap1.m_hObject);
qn_bitmap2.LoadBitmap(IDB_BITMAP10);
m_chaxunok.SetBitmap((HBITMAP)qn_bitmap2.m_hObject);
/// SetDialogBkColor(RGB(109,139,241),RGB(0,0,0));
// TODO: Add extra initialization here
//GetDlgItem(IDC_CHAXUNGO)->EnableWindow(false);
m_quannianlist.InsertColumn ( 0, "编号", LVCFMT_CENTER, 40 );
m_quannianlist.InsertColumn(1,"月份",LVCFMT_CENTER,20);
m_quannianlist.InsertColumn ( 2, "部门ID", LVCFMT_CENTER, 50 );
m_quannianlist.InsertColumn ( 3, "部门名称", LVCFMT_LEFT,65 );
m_quannianlist.InsertColumn ( 4, "职工ID", LVCFMT_LEFT, 60 );
m_quannianlist .InsertColumn ( 5, "职工名字", LVCFMT_LEFT,60 );
m_quannianlist.InsertColumn(6,"性别",LVCFMT_CENTER,40);
m_quannianlist .InsertColumn ( 7, "基本工资", LVCFMT_LEFT,60 );
m_quannianlist .InsertColumn ( 8, "工龄工资", LVCFMT_LEFT, 60 );
m_quannianlist.InsertColumn ( 9, "副食补贴", LVCFMT_CENTER, 60 );
m_quannianlist.InsertColumn ( 10, "煤粮补贴", LVCFMT_LEFT,60 );
m_quannianlist.InsertColumn ( 11, "交通补贴", LVCFMT_LEFT, 60 );
m_quannianlist .InsertColumn ( 12, "补贴1", LVCFMT_LEFT,50 );
m_quannianlist .InsertColumn ( 13, "补贴2", LVCFMT_LEFT,50 );
m_quannianlist .InsertColumn ( 14, "补贴合计", LVCFMT_LEFT, 60 );
m_quannianlist.InsertColumn ( 15, "应发工资", LVCFMT_CENTER, 60 );
m_quannianlist.InsertColumn ( 16, "房费", LVCFMT_LEFT,40 );
m_quannianlist.InsertColumn ( 17, "水电费", LVCFMT_LEFT, 60 );
m_quannianlist .InsertColumn ( 18, "托儿费", LVCFMT_LEFT,60 );
m_quannianlist .InsertColumn ( 19, "借支扣款", LVCFMT_LEFT,60 );
m_quannianlist .InsertColumn ( 20, "其它扣款", LVCFMT_LEFT, 60 );
m_quannianlist.InsertColumn ( 21, "扣款合计", LVCFMT_CENTER, 60 );
m_quannianlist.InsertColumn ( 22, "实发工资", LVCFMT_LEFT,60 );
m_quannianlist.InsertColumn ( 23, "备注", LVCFMT_LEFT, 40 );
//if(qnall_set.IsEOF())
//m_quannianlist .InsertColumn ( 3, "职工名字", LVCFMT_LEFT,60 );
//m_quannianlist .InsertColumn ( 4, "基本工资", LVCFMT_LEFT,60 );
//m_quannianlist .InsertColumn ( 5, "工龄工资", LVCFMT_LEFT, 60 );
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CCzgqndlg::quannianlist()
{
CCgongziset gzqn_set;
char szBuffer [ 256 ];
int k=0;
CTime ti;
CString str,strmySql,ss;
UpdateData(true);
m_quannianlist.DeleteAllItems();
//strmySql="SELECT *FROM g WHERE flag=0 order by [timem]";
//strmySql+=[timem]";
//gzqn_set.Open(AFX_DB_USE_DEFAULT_TYPE,strmySql);
gzqn_set.Open();
gzqn_set.m_strSort="timem";
gzqn_set.Requery();
gzqn_set.MoveFirst();
int i=0; //m_lcRepeaterList . SetItemText ( nListEntry, 1, LPCTSTR ( m_setComplete . m_strFrequency ) );
//y=ti.GetCurrentTime().GetYear() ;
// m=ti.GetCurrentTime().GetMonth();
while(!gzqn_set.IsEOF() )
{
if(gzqn_set.m_zhigongID==m_chanxunid)
if(gzqn_set.m_timey==select)
{
// y=gzqn_set.m_timey;
//m=gzqn_set.m_timem;
m_quannianlist.InsertItem (i,LPCTSTR ( ltoa (i+1, szBuffer, 10 )), 0 );
str.Format("%d",gzqn_set.m_timem);
m_quannianlist.SetItemText(i,1,LPCTSTR(str));
m_quannianlist.SetItemText(i,2,LPCTSTR(gzqn_set.m_bumenID));
m_quannianlist.SetItemText(i,3,LPCTSTR(gzqn_set.m_bumenname ));
m_quannianlist.SetItemText(i,4,LPCTSTR(gzqn_set.m_zhigongID ));
m_quannianlist.SetItemText(i,5,LPCTSTR(gzqn_set.m_zhigongname ));
m_quannianlist.SetItemText(i,6,LPCTSTR(gzqn_set.m_sex));
str.Format("%.2f",gzqn_set.m_jibengongzi);
m_quannianlist.SetItemText(i,7,LPCTSTR(str ));
str.Format("%.3f",gzqn_set.m_gonglinggongzi);
m_quannianlist.SetItemText(i,8,LPCTSTR(str));
str.Format("%.3f",gzqn_set.m_fushibutie );
m_quannianlist.SetItemText(i,9,LPCTSTR(str));
str.Format("%.3f",gzqn_set.m_meiliangbutie );
m_quannianlist.SetItemText(i,10,LPCTSTR(str));
str.Format("%.3f",gzqn_set.m_jiaotongbutie);
m_quannianlist.SetItemText(i,11,LPCTSTR(str));
str.Format("%.3f",gzqn_set.m_butie1 );
m_quannianlist.SetItemText(i,12,LPCTSTR(str));
str.Format("%.3f",gzqn_set.m_butie2);
m_quannianlist.SetItemText(i,13,LPCTSTR(str));
str.Format("%.3f",gzqn_set.m_butieheji );
m_quannianlist.SetItemText(i,14,LPCTSTR(str));
str.Format("%.3f",gzqn_set.m_yingfagongzi);
m_quannianlist.SetItemText(i,15,LPCTSTR(str));
str.Format("%.3f",gzqn_set.m_fangfei );
m_quannianlist.SetItemText(i,16,LPCTSTR(str));
str.Format("%.3f",gzqn_set.m_shuidianfei );
m_quannianlist.SetItemText(i,17,LPCTSTR(str));
str.Format("%.3f",gzqn_set.m_tuoerfei );
m_quannianlist.SetItemText(i,18,LPCTSTR(str));
str.Format("%.3f",gzqn_set.m_jiezhikoukuang );
m_quannianlist.SetItemText(i,19,LPCTSTR(str));
str.Format("%.3f",gzqn_set.m_qitakoukuang );
m_quannianlist.SetItemText(i,20,LPCTSTR(str));
str.Format("%.3f",gzqn_set.m_koukuangheji );
m_quannianlist.SetItemText(i,21,LPCTSTR(str));
str.Format("%.3f",gzqn_set.m_shifagongzi );
m_quannianlist.SetItemText(i,22,LPCTSTR(str));
m_quannianlist.SetItemText(i,23,LPCTSTR(gzqn_set.m_beizhu ));
i=i+1;
}
gzqn_set.MoveNext();
}
if(i==0) MessageBox("不存在该职工ID或你所输入的年份不正确!");
UpdateData(false);
}
void CCzgqndlg::OnChaxungo()
{
UpdateData();
// TODO: Add your control notification handler code here
if(m_chanxunid.IsEmpty())
{
MessageBox("不能为空!");
return;
}
quannianlist();
}
void CCzgqndlg::OnChangeChanxunid()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
GetDlgItem(IDC_CHAXUNGO)->EnableWindow(true);
// TODO: Add your control notification handler code here
}
//DEL BOOL CCzgqndlg::DestroyWindow()
//DEL {
//DEL // TODO: Add your specialized code here and/or call the base class
//DEL qn_bitmap1.DeleteObject();
//DEL qn_bitmap2.DeleteObject();
//DEL //
//DEL return CDialog::DestroyWindow();
//DEL //return 0;
//DEL }
void CCzgqndlg::OnSelchangeSelecty()
{
// TODO: Add your control notification handler code here
select=m_selecty.GetCurSel()+1990;
}
void CCzgqndlg::OnPrint1()
{
CCgongziset printset1;
int wide=39;
CString pstr;
printset1.Open();
printset1.MoveFirst();
// TODO: Add your control notification handler code here
char szprinter[80];
char *szDevice,*szDriver,*szOutput;
HDC hdcprint; // 定义一个设备环境句柄
static DOCINFO di={sizeof(DOCINFO),"printer",NULL};
GetProfileString("windows","device",",,,",szprinter,80);
// 将设备字符串分解
if(NULL!=(szDevice=strtok(szprinter,","))&&
NULL!=(szDriver=strtok(NULL,","))&&
NULL!=(szOutput=strtok(NULL,",")))
// 创建一个打印机设备句柄
if((hdcprint=CreateDC(szDriver,szDevice,szOutput,NULL))!=0)
{
if(StartDoc(hdcprint,&di)>0) //开始执行一个打印作业
{
StartPage(hdcprint); //打印机走纸,开始打印
SaveDC(hdcprint); //保存打印机设备句柄
// TODO: Add your control notification handler code here
TextOut(hdcprint,350,1,"职工全年工资表",14);
TextOut(hdcprint,1,20,"部门ID",6);
TextOut(hdcprint,51,20,"部门名",6);
TextOut(hdcprint,101,20,"职工ID",6);
TextOut(hdcprint,151,20,"职工名",6);
TextOut(hdcprint,201,20,"性别",4);
TextOut(hdcprint,251,20,"基本工资",8);
TextOut(hdcprint,301,20,"工龄工资",8);
TextOut(hdcprint,351,20,"副食补贴",8);
TextOut(hdcprint,401,20,"煤粮补贴",8);
TextOut(hdcprint,451,20,"交通补贴",8);
TextOut(hdcprint,501,20,"补贴1",5);
TextOut(hdcprint,551,20,"补贴2",5);
TextOut(hdcprint,601,20,"补贴合计",8);
TextOut(hdcprint,651,20,"应发工资",8);
TextOut(hdcprint,701,20,"房费",4);
TextOut(hdcprint,751,20,"水电费",6);
TextOut(hdcprint,801,20,"托儿费",6);
TextOut(hdcprint,851,20,"借支扣款",8);
TextOut(hdcprint,901,20,"其它扣款",8);
TextOut(hdcprint,951,20,"扣款合计",8);
TextOut(hdcprint,1001,20,"实发工资",8);
TextOut(hdcprint,1051,20,"备注",4);
//MessageBox(m_quannianlist.GetItemText(0,4));
while(!printset1.IsEOF())
{
if(printset1.m_zhigongID==m_quannianlist.GetItemText(0,4) )
{
TextOut(hdcprint,1,wide,printset1.m_bumenID,strlen(printset1.m_bumenID ));
TextOut(hdcprint,51,wide,printset1.m_bumenname,strlen(printset1.m_bumenname));
TextOut(hdcprint,101,wide,printset1.m_zhigongID,strlen(printset1.m_zhigongID));
TextOut(hdcprint,151,wide,printset1.m_zhigongname,strlen(printset1.m_zhigongname));
TextOut(hdcprint,201,wide,printset1.m_sex,strlen(printset1.m_sex));
pstr.Format("%f",printset1.m_jibengongzi);
TextOut(hdcprint,251,20,pstr,strlen(pstr));
pstr.Format("%f",printset1.m_gonglinggongzi );
TextOut(hdcprint,301,20,pstr,strlen(pstr));
pstr.Format("%f",printset1.m_fushibutie);
TextOut(hdcprint,351,20,pstr,strlen(pstr));
pstr.Format("%f",printset1.m_meiliangbutie);
TextOut(hdcprint,401,20,pstr,strlen(pstr));
pstr.Format("%f",printset1.m_jiaotongbutie);
TextOut(hdcprint,451,20,pstr,strlen(pstr));
pstr.Format("%f",printset1.m_butie1);
TextOut(hdcprint,501,20,pstr,strlen(pstr));
pstr.Format("%f",printset1.m_butie2);
TextOut(hdcprint,551,20,pstr,strlen(pstr));
pstr.Format("%f",printset1.m_butieheji);
TextOut(hdcprint,601,20,pstr,strlen(pstr));
pstr.Format("%f",printset1.m_yingfagongzi);
TextOut(hdcprint,651,20,pstr,strlen(pstr));
pstr.Format("%f",printset1.m_fangfei);
TextOut(hdcprint,701,20,pstr,strlen(pstr));
pstr.Format("%f",printset1.m_shuidianfei);
TextOut(hdcprint,751,20,pstr,strlen(pstr));
pstr.Format("%f",printset1.m_tuoerfei);
TextOut(hdcprint,801,20,pstr,strlen(pstr));
pstr.Format("%f",printset1.m_jiezhikoukuang);
TextOut(hdcprint,851,20,pstr,strlen(pstr));
pstr.Format("%f",printset1.m_qitakoukuang);
TextOut(hdcprint,901,20,pstr,strlen(pstr));
pstr.Format("%f",printset1.m_koukuangheji);
TextOut(hdcprint,951,20,pstr,strlen(pstr));
pstr.Format("%f",printset1.m_shifagongzi);
TextOut(hdcprint,1001,20,pstr,strlen(pstr));
TextOut(hdcprint,1051,20,printset1.m_beizhu,strlen(printset1.m_beizhu));
}
wide+=19;
printset1.MoveNext();
}
// 输出一条直线
MoveToEx(hdcprint,20,20,NULL);
LineTo(hdcprint,120,120);
RestoreDC(hdcprint,-1); //恢复打印机设备句柄
EndPage(hdcprint); //打印机停纸,停止打印
EndDoc(hdcprint); //结束一个打印作业
MessageBox("打印完毕!","提示",MB_ICONINFORMATION);
}
// 用API函数DeleteDC销毁一个打印机设备句柄
DeleteDC(hdcprint);
}
else
{
MessageBox("没有默认打印机,或者没有安装打印机!");
return;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -