⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 salaryodlg.cpp

📁 本系统采用小型数据库管理系统中优秀的软件“Visual C++ 6.0” 作为系统开发工具
💻 CPP
字号:
// SalaryODlg.cpp : implementation file
//

#include "stdafx.h"
#include "salarly.h"
#include "SalaryODlg.h"
#include "SalarySet.h"
#include "DepartmentSet.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CSalaryODlg dialog


CSalaryODlg::CSalaryODlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSalaryODlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSalaryODlg)
	m_Absent = 0.0f;
	m_Business = 0.0f;
	m_Date = 0;
	m_strID = _T("");
	m_Late = 0.0f;
	m_Leave = 0.0f;
	m_strName = _T("");
	m_Overtime = 0.0f;
	m_strRemark = _T("");
	m_Worktime = 0.0f;
	m_strDepartment = _T("人事部");
	m_Add = 0.0f;
	m_Basic = 0.0f;
	m_Bonus = 0.0f;
	m_Fine = 0.0f;
	m_Total = 0.0f;
	m_Welfare = 0.0f;
	//}}AFX_DATA_INIT
}


void CSalaryODlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSalaryODlg)
	DDX_Control(pDX, IDC_COMBO1, m_strDepartmentctrl);
	DDX_Control(pDX, IDC_SPIN_WORKTIME, m_spinWorktime);
	DDX_Control(pDX, IDC_SPIN_OVERTIME, m_spinOvertime);
	DDX_Control(pDX, IDC_SPIN_LEAVE, m_spinLeave);
	DDX_Control(pDX, IDC_SPIN_LATE, m_spinLate);
	DDX_Control(pDX, IDC_SPIN_BUSINESS, m_spinBusiness);
	DDX_Control(pDX, IDC_SPIN_ABSENT, m_spinAbsent);
	DDX_Text(pDX, IDC_ABSENT, m_Absent);
	DDX_Text(pDX, IDC_BUSINESS, m_Business);
	DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER, m_Date);
	DDX_Text(pDX, IDC_ID, m_strID);
	DDX_Text(pDX, IDC_LATE, m_Late);
	DDX_Text(pDX, IDC_LEAVE, m_Leave);
	DDX_Text(pDX, IDC_NAME, m_strName);
	DDX_Text(pDX, IDC_OVERTIME, m_Overtime);
	DDX_Text(pDX, IDC_REMARK, m_strRemark);
	DDX_Text(pDX, IDC_WORKTIME, m_Worktime);
	DDV_MinMaxFloat(pDX, m_Worktime, 0.f, 100.f);
	DDX_CBString(pDX, IDC_COMBO1, m_strDepartment);
	DDX_Text(pDX, IDC_ADD, m_Add);
	DDX_Text(pDX, IDC_BASIC, m_Basic);
	DDX_Text(pDX, IDC_BONUS, m_Bonus);
	DDX_Text(pDX, IDC_FINE, m_Fine);
	DDX_Text(pDX, IDC_TOTAL, m_Total);
	DDX_Text(pDX, IDC_WELFARE, m_Welfare);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSalaryODlg, CDialog)
	//{{AFX_MSG_MAP(CSalaryODlg)
	ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN_ABSENT, OnDeltaposSpinAbsent)
	ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN_BUSINESS, OnDeltaposSpinBusiness)
	ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN_LEAVE, OnDeltaposSpinLeave)
	ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN_OVERTIME, OnDeltaposSpinOvertime)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSalaryODlg message handlers

BOOL CSalaryODlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_spinWorktime.SetRange(0,100);       //设置旋转按钮控件范围
	m_spinOvertime.SetRange(0,100);
	m_spinBusiness.SetRange(0,100);
	m_spinLeave.SetRange(0,100);
	m_spinLate.SetRange(0,100);
	m_spinAbsent.SetRange(0,100);

	CDepartmentSet cSet;
	cSet.Open();
	while(!cSet.IsEOF()){
		m_strDepartmentctrl.AddString(cSet.m_department); //将部门表的内容添加到组合框中
		cSet.MoveNext();
	}
	if(cSet.IsOpen())cSet.Close();
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CSalaryODlg::OnDeltaposSpinAbsent(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);            // 将控件的内容保存到变量中
	m_Absent+=(float)pNMUpDown->iDelta*0.5f;
	if(m_Absent<0.0)m_Absent=0.0f;
	if(m_Absent>100.0)m_Absent=100.0f;
	UpdateData(FALSE);         // 将变量的内容显示到控件中
	*pResult = 0;
}

void CSalaryODlg::OnDeltaposSpinBusiness(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);          // 将控件的内容保存到变量中
	m_Business+=(float)pNMUpDown->iDelta*0.5f;
	if(m_Business<0.0)m_Absent=0.0f;
	if(m_Business>100.0)m_Absent=100.0f;
	UpdateData(FALSE);           // 将变量的内容显示到控件中
	*pResult = 0;
}

void CSalaryODlg::OnDeltaposSpinLeave(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);            // 将控件的内容保存到变量中
	m_Leave+=(float)pNMUpDown->iDelta*0.5f;
	if(m_Leave<0.0)m_Absent=0.0f;
	if(m_Leave>100.0)m_Absent=100.0f;
	UpdateData(FALSE);     // 将变量的内容显示到控件中
	*pResult = 0;
}

void CSalaryODlg::OnDeltaposSpinOvertime(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);          // 将控件的内容保存到变量中
	m_Overtime+=(float)pNMUpDown->iDelta*0.5f;
	if(m_Overtime<0.0)m_Absent=0.0f;
	if(m_Overtime>100.0)m_Absent=100.0f;
	UpdateData(FALSE);           // 将变量的内容显示到控件中
	*pResult = 0;
}

void CSalaryODlg::OnOK() 
{
	// TODO: Add extra validation here
	UpdateData();
	m_strID.TrimLeft();       //函数从给定的字符串中删除首部的空格及控制字符
	if(m_strID.IsEmpty())            //设置OK键的条件
		MessageBox("员工号不能为空!");
	else
		if(m_strDepartment.IsEmpty())
			MessageBox("部门不能为空!");
		else
			CDialog::OnOK();
}

void CSalaryODlg::OnCancel() 
{
	// TODO: Add extra cleanup here
	
	CDialog::OnCancel();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -