📄 kaoqingdlg.cpp
字号:
// kaoqingDlg.cpp : 实现文件
//
#include "stdafx.h"
#include "kaoqing.h"
#include "kaoqingDlg.h"
#include "Windows.h"
#include "oderefdlg.h"
#include ".\kaoqingdlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// 用于应用程序“关于”菜单项的 CAboutDlg 对话框
class CAboutDlg : public CDialog
{
public:
CAboutDlg();
// 对话框数据
enum { IDD = IDD_ABOUTBOX };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
// 实现
protected:
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
END_MESSAGE_MAP()
// CkaoqingDlg 对话框
CkaoqingDlg::CkaoqingDlg(CWnd* pParent /*=NULL*/)
: CDialog(CkaoqingDlg::IDD, pParent)
, workdays(0)
, personcode(_T(""))
, personname(_T(""))
, month(_T(""))
, unit(_T(""))
, job(_T(""))
, year(_T(""))
,cdlg(NULL)
, focus2(0)
, sharelistindex(0)
, id(0)
, workdays2(0)
, hejistr(_T(""))
, addormodi(0)
, x(0)
, useall(FALSE)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CkaoqingDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LIST1, sharelist);
//DDX_Control(pDX, IDC_STATIC1, chshh);
DDX_Control(pDX, IDC_BUTTON10, sumallbt);
DDX_Control(pDX, IDC_BUTTON9, closebt);
DDX_Control(pDX, IDC_BUTTON5, personrgbt);
DDX_Control(pDX, IDC_BUTTON6, unitrgbt);
DDX_Control(pDX, IDC_BUTTON2, addbt);
DDX_Control(pDX, IDC_BUTTON3, modibt);
DDX_Control(pDX, IDC_BUTTON4, nomodibt);
DDX_Control(pDX, IDC_BUTTON7, searchbt);
DDX_Control(pDX, IDC_BUTTON12, deletebt);
DDX_Control(pDX, IDC_COMBO1, monthcombo);
DDX_Control(pDX, IDC_COMBO3, workunitcombo);
DDX_Text(pDX, IDC_EDIT2, workdays);
DDX_Control(pDX, IDC_EDIT1, personcodeet);
DDX_Control(pDX, IDC_EDIT3, personnameet);
DDX_Control(pDX, IDC_EDIT2, workdayset);
DDX_Text(pDX, IDC_EDIT1, personcode);
DDX_Text(pDX, IDC_EDIT3, personname);
DDX_Control(pDX, IDC_COMBO4, jobcombo);
DDX_CBString(pDX, IDC_COMBO1, month);
DDX_CBString(pDX, IDC_COMBO3, unit);
DDX_CBString(pDX, IDC_COMBO4, job);
DDX_Control(pDX, IDC_COMBO2, yearcombo);
DDX_CBString(pDX, IDC_COMBO2, year);
DDX_Control(pDX, IDC_BUTTON14, showallbt);
//DDX_Control(pDX, IDC_STATIC2, chooseonebt);
//DDX_Control(pDX, IDC_STATIC3, choosetwobt);
DDX_Control(pDX, IDC_EDIT5, workdayset2);
DDX_Text(pDX, IDC_EDIT5, workdays2);
DDX_Text(pDX, IDC_HEJIST, hejistr);
DDX_Control(pDX, IDC_HEJIST, hejist);
DDX_Check(pDX, IDC_CHECK1, useall);
}
BEGIN_MESSAGE_MAP(CkaoqingDlg, CDialog)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_WM_SIZE()
ON_BN_CLICKED(IDC_BUTTON9, OnBnClickedButton9)
ON_BN_CLICKED(IDC_BUTTON5, OnBnClickedButton5)
// ON_WM_KEYDOWN()
//ON_CBN_EDITCHANGE(IDC_COMBO5, OnCbnEditchangeCombo5)
ON_WM_ERASEBKGND()
//ON_NOTIFY(NM_THEMECHANGED, IDC_COMBO5, OnNMThemeChangedCombo5)
ON_EN_CHANGE(IDC_EDIT1, OnEnChangeEdit1)
ON_EN_CHANGE(IDC_EDIT3, OnEnChangeEdit3)
ON_BN_CLICKED(IDC_BUTTON2, OnBnClickedButton2)
ON_BN_CLICKED(IDC_BUTTON3, OnBnClickedButton3)
ON_BN_CLICKED(IDC_BUTTON4, OnBnClickedButton4)
ON_BN_CLICKED(IDC_BUTTON12, OnBnClickedButton12)
ON_BN_CLICKED(IDC_BUTTON7, OnBnClickedButton7)
ON_CBN_SELCHANGE(IDC_COMBO2, OnCbnSelchangeCombo2)
ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnNMDblclkList1)
ON_BN_CLICKED(IDC_BUTTON14, OnBnClickedButton14)
ON_BN_CLICKED(IDC_BUTTON6, OnBnClickedButton6)
ON_BN_SETFOCUS(IDC_BUTTON5, OnBnSetfocusButton5)
ON_BN_KILLFOCUS(IDC_BUTTON5, OnBnKillfocusButton5)
ON_BN_SETFOCUS(IDC_BUTTON6, OnBnSetfocusButton6)
ON_BN_KILLFOCUS(IDC_BUTTON6, OnBnKillfocusButton6)
ON_BN_SETFOCUS(IDC_BUTTON2, OnBnSetfocusButton2)
ON_BN_KILLFOCUS(IDC_BUTTON2, OnBnKillfocusButton2)
ON_BN_SETFOCUS(IDC_BUTTON3, OnBnSetfocusButton3)
ON_BN_KILLFOCUS(IDC_BUTTON3, OnBnKillfocusButton3)
ON_BN_SETFOCUS(IDC_BUTTON4, OnBnSetfocusButton4)
ON_BN_KILLFOCUS(IDC_BUTTON4, OnBnKillfocusButton4)
ON_BN_SETFOCUS(IDC_BUTTON7, OnBnSetfocusButton7)
ON_BN_KILLFOCUS(IDC_BUTTON7, OnBnKillfocusButton7)
ON_BN_SETFOCUS(IDC_BUTTON14, OnBnSetfocusButton14)
ON_BN_KILLFOCUS(IDC_BUTTON14, OnBnKillfocusButton14)
ON_BN_CLICKED(IDC_BUTTON10, OnBnClickedButton10)
ON_BN_SETFOCUS(IDC_BUTTON10, OnBnSetfocusButton10)
ON_BN_KILLFOCUS(IDC_BUTTON10, OnBnKillfocusButton10)
ON_NOTIFY(NM_RCLICK, IDC_LIST1, OnNMRclickList1)
END_MESSAGE_MAP()
// CkaoqingDlg 消息处理程序
BOOL CkaoqingDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// 将\“关于...\”菜单项添加到系统菜单中。
// IDM_ABOUTBOX 必须在系统命令范围内。
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
//mypass.DoModal ();
// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标
sharelist.SetTextColor(RGB(0,0,0));
sharelist.SetTextBkColor(RGB(220,235,220));//文本背景色
sharelist.SetBkColor(RGB(200,220,220));//背景色
sharelist.SetExtendedStyle (LVS_EX_GRIDLINES|LVS_REPORT|LVS_EX_FULLROWSELECT|LVS_EX_FLATSB);
sharelist.InsertColumn (0,_T("序号"));
sharelist.InsertColumn (1,_T("人员编号"),LVCFMT_CENTER,-1,-1);
sharelist.InsertColumn (2,_T("姓名"),LVCFMT_CENTER,-1,-1);
sharelist.InsertColumn (3,_T("正班"),LVCFMT_CENTER,-1,-1);
sharelist.InsertColumn (4,_T("副班"),LVCFMT_CENTER,-1,-1);
sharelist.InsertColumn (5,_T("月份"),LVCFMT_CENTER,-1,-1);
sharelist.InsertColumn (6,_T("出勤单位"),LVCFMT_CENTER,-1,-1);
sharelist.InsertColumn (7,_T("岗位"),LVCFMT_CENTER,-1,-1);
sharelist.InsertColumn (8,_T("年份"),LVCFMT_CENTER,-1,-1);
sharelist.SetColumnWidth (0,40);
this->ShowWindow (SW_MAXIMIZE);
refreshcombo ();
CString yearstr;
for(int i=2003;i<=2104;i++)
{yearstr.Format ("%d",i);
yearcombo.AddString (yearstr);
}
sharelistindex=-1;
addormodi=0;
//kaoqingbu.Close ();
// TODO: 在此添加额外的初始化代码
return TRUE; // 除非设置了控件的焦点,否则返回 TRUE
}
void CkaoqingDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
// 如果向对话框添加最小化按钮,则需要下面的代码
// 来绘制该图标。对于使用文档/视图模型的 MFC 应用程序,
// 这将由框架自动完成。
void CkaoqingDlg::OnPaint()
{ CPaintDC dc(this);
CRect rect,rect2;
GetClientRect (&rect);
//chshh. MoveWindow (5,0,rect.Width ()-10,50);
sharelist.MoveWindow (5,180,rect.Width ()-10,rect.Height ()-220);
sharelist.SetColumnWidth (0,(rect.Width ()-10)/10);
sharelist.SetColumnWidth (1,(rect.Width ()-10)/10);
sharelist.SetColumnWidth (2,(rect.Width ()-10)/10);
sharelist.SetColumnWidth (3,(rect.Width ()-10)/10);
sharelist.SetColumnWidth (4,(rect.Width ()-10)/10);
sharelist.SetColumnWidth (5,(rect.Width ()-10)/10);
sharelist.SetColumnWidth (6,(rect.Width ()-10)/5);
sharelist.SetColumnWidth (7,(rect.Width ()-10)/10);
sharelist.SetColumnWidth (8,(rect.Width ()-10)/10);
closebt.GetClientRect (&rect2);
closebt.MoveWindow (rect.Width() -10-rect2.Width (),rect.Height ()-35,rect2.Width (),rect2.Height ());
hejist.GetClientRect (&rect2);
hejist.MoveWindow (250,rect.Height ()-30,rect2.Width (),rect2.Height ());
CFont font1,*oldfont;
//font1.CreatePointFont (130,"宋体");
dc.SetBkMode (TRANSPARENT);
if(rect.Width ()>767)
{font1.CreatePointFont (200,"隶书");
oldfont=dc.SelectObject (&font1);
COLORREF OldColor =dc.SetTextColor (::GetSysColor( COLOR_3DHILIGHT));
dc.TextOut (rect.Width ()*0.58,20,"北京项目管理公司出品 作者:曹林杰");
dc.SetTextColor (::GetSysColor( COLOR_3DSHADOW));
dc.TextOut (rect.Width ()*0.58-1,19,"北京项目管理公司出品 作者:曹林杰");
dc.SetTextColor (OldColor);
dc.SelectObject (oldfont);
}
else
{font1.CreatePointFont (100,"宋体");
oldfont=dc.SelectObject (&font1);
COLORREF OldColor =dc.SetTextColor (::GetSysColor( COLOR_3DHILIGHT));
dc.TextOut (20,rect.Height ()-29,"北京项目管理公司出品 作者:曹林杰");
dc.SetTextColor (::GetSysColor( COLOR_3DSHADOW));
dc.TextOut (19,rect.Height ()-30,"北京项目管理公司出品 作者:曹林杰");
dc.SetTextColor (OldColor);
dc.SelectObject (oldfont);
}
//sumallbt.MoveWindow (5,rect.Height ()-30,88,30);
CDialog::OnPaint();
}
//当用户拖动最小化窗口时系统调用此函数取得光标显示。
HCURSOR CkaoqingDlg::OnQueryDragIcon()
{
return static_cast<HCURSOR>(m_hIcon);
}
void CkaoqingDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
Invalidate ();
CenterWindow ();
// TODO: 在此处添加消息处理程序代码
}
//void CkaoqingDlg::OnOK()
//{
// // TODO: 在此添加专用代码和/或调用基类
//
// //CDialog::OnOK();
//}
void CkaoqingDlg::OnBnClickedButton9()
{
CDialog::OnCancel();
}
//void CkaoqingDlg::OnCancel()
//{
// // TODO: 在此添加专用代码和/或调用基类
// CDialog::OnCancel();
//}
void CkaoqingDlg::OnBnClickedButton5()
{//人员登记
addpersondlg addp(this);
addp.addpersoncode =this->personcode;
addp.addpersonname =this->personname; ;
//addp.UpdateData (false);
addp.DoModal ();
//cdlg->refreshreflist (false);
workdayset.SetFocus ();
addbt.EnableWindow (true);
modibt.EnableWindow (false);
nomodibt.EnableWindow (false);
addormodi=0;
// TODO: 在此添加控件通知处理程序代码
}
//void CkaoqingDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
//{
// // TODO: 在此添加消息处理程序代码和/或调用默认值
//this->NextDlgCtrl ();
// CDialog::OnKeyDown(nChar, nRepCnt, nFlags);
//}
BOOL CkaoqingDlg::OnEraseBkgnd(CDC* pDC)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
//return true;
///pDC->RealizePalette ();
//CRect rect;
//this->GetClientRect (rect);
//CBrush brush;
//brush.CreateHatchBrush (6,RGB(212,208,200));
//pDC->FillRect (rect,&brush);
//pDC->SelectObject (&brush);
//pDC->SetTextColor (RGB(100,20,10));(
//pDC->TextOut (1,1,"fdafd");
//return true;
return CDialog::OnEraseBkgnd(pDC);
//return true;
}
void CkaoqingDlg::refreshcombo(void)
{CDaoRecordset unitrec;
kaoqingbu.Open (".\\kqbook.mdb",0,0,";PWD=caolinjie1226loveyou");//打开数据库
unitrec.m_pDatabase=&kaoqingbu;
unitrec.Open (dbOpenDynaset, _T("select * from [工地登记表]"));
if(unitrec.IsBOF ()) {unitrec.Close ();kaoqingbu.Close (); return;}
while (!unitrec.IsEOF ())
{workunitcombo.AddString (CString(V_BSTRT(&unitrec.GetFieldValue( 0 ))));
unitrec.MoveNext ();
}
unitrec.Close ();kaoqingbu.Close ();
return ;
}
void CkaoqingDlg::OnEnChangeEdit1()
{
CString tempnumberstr;
workdayset.GetWindowText (tempnumberstr);
if(!isvalidnumber (tempnumberstr)) workdayset.SetWindowText (_T("0"));
workdayset2.GetWindowText (tempnumberstr);
if(!isvalidnumber (tempnumberstr)) workdayset2.SetWindowText (_T("0"));
if(this->cdlg ==NULL)
{cdlg=new coderefdlg(this);
cdlg->Create (IDD_DIALOG1);
}
UpdateData (true);
personname=_T("");
UpdateData (false);
cdlg->refcode =personcode;
cdlg->refname ="" ;
personcodeet.GetWindowText (tempnumberstr);
x=cdlg->refreshreflist (true);
cdlg->ShowWindow (SW_SHOW);
if(x==1&&tempnumberstr==cdlg->getcode)
{personcode=cdlg->getcode;
personname=cdlg->getname ;
UpdateData (false);
this->personnameet.SetFocus ();
}
else
personcodeet.SetFocus ();
}
void CkaoqingDlg::OnEnChangeEdit3()
{ CString tempnumberstr;
workdayset.GetWindowText (tempnumberstr);
if(!isvalidnumber (tempnumberstr)) workdayset.SetWindowText (_T("0"));
workdayset2.GetWindowText (tempnumberstr);
if(!isvalidnumber (tempnumberstr)) workdayset2.SetWindowText (_T("0"));
UpdateData (true);
personcode=_T("");
UpdateData (false);
if(this->cdlg ==NULL)
{cdlg=new coderefdlg(this);
cdlg->Create (IDD_DIALOG1);
}
cdlg->refname =personname;
cdlg->refcode ="";
personnameet.GetWindowText (tempnumberstr);
x=cdlg->refreshreflist (true);
cdlg->ShowWindow (SW_SHOW);
if(x==1&&tempnumberstr==cdlg->getname)
{personcode=cdlg->getcode;
personname=cdlg->getname ;
UpdateData (false);
}
personnameet.SetFocus ();
//personcodeet.SetFocus ();
}
bool CkaoqingDlg::isvalidnumber(CString nstr)
{if(nstr==_T("")) return false;
int dot=0;
char tempstr;
for(int i=0;i<nstr.GetLength ();i++)
{tempstr=nstr.GetAt (i);
if(tempstr!='.') {if(!(tempstr>='0'&&tempstr<='9')) return false;}
else dot++;
}
if(dot>1) return false;
//AfxMessageBox("fdafdafd");
return true;
}
void CkaoqingDlg::OnBnClickedButton2()
{CString tempnumberstr,idstr,day1str,day2str;
workdayset.GetWindowText (tempnumberstr);
if(!isvalidnumber (tempnumberstr)) workdayset.SetWindowText ("0");
workdayset2.GetWindowText (tempnumberstr);
if(!isvalidnumber (tempnumberstr)) workdayset2.SetWindowText (_T("0"));
UpdateData (true);
if(year==_T("")) {yearcombo.SetFocus ();AfxMessageBox("请确定年份");return;}
if(personcode==_T("")) {personcodeet.SetFocus ();return;}
if(personname==_T("")) {personnameet.SetFocus ();return;}
if(workdays<=0) {workdayset.SetFocus ();return;}
if(workdays2<0) {workdayset2.SetFocus ();return;}
if(month==_T("")) {monthcombo.SetFocus ();return;}
if(unit==_T("")) {workunitcombo.SetFocus ();return;}
if(job==_T("")) {jobcombo.SetFocus ();return;}
CDaoDatabase kaoqingbu;
kaoqingbu.Open (".\\kqbook.mdb",0,0,";PWD=caolinjie1226loveyou");//打开数据库
CDaoQueryDef inquery(&kaoqingbu);
inquery.Open (_T("考勤明细查询"));
inputrecordset inputrec;
inputrec.Open (&inquery,dbOpenDynaset);
try
{
inputrec.AddNew ();
inputrec.personcode =personcode;
inputrec.workdays =workdays;
inputrec.workdays2 =workdays2;
inputrec.month =month;
inputrec.unit =unit;
inputrec.job =job ;
inputrec.year =year ;
inputrec.Update ();
}
catch( CDaoException* e )
{e->ReportError ();
//AfxMessageBox("错误");
e->Delete( );
inputrec.Close ();
inquery.Close ();
kaoqingbu.Close ();
personcodeet.SetFocus ();
return;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -