📄 salarysetdlg.cpp
字号:
// SalarySetDlg.cpp : implementation file
//
#include "stdafx.h"
#include "SalaryManagement.h"
#include "SalarySetDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSalarySetDlg dialog
BOOL CSalarySetDlg::OnInitDialog(){ //重载初始化对话框的虚函数
CListCtrl *pList=(CListCtrl *)GetDlgItem(IDC_SALARYSET_RECORD_LIST); //得到能控制列表控件的指针
//初始化列表控件
pList->InsertColumn(0,"职员号");
pList->InsertColumn(1,"姓名");
pList->InsertColumn(2,"基本工资");
pList->InsertColumn(3,"扣除");
//设置列表的宽度和风格
pList->SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT); //设置列表的风格 有网格线 全行选中
RECT ListRect; //得到列表控件的空间
pList->GetWindowRect(&ListRect);
int breadth=ListRect.right-ListRect.left; //得到列表控件的宽度
pList->SetColumnWidth(0,breadth/4-1); //设置每一列的宽度
pList->SetColumnWidth(1,breadth/4-1);
pList->SetColumnWidth(2,breadth/4-1);
pList->SetColumnWidth(3,breadth/4-1);
//////////////////////////////////////////////////////////////////////////
//设置为SQL提供要操作的部门
if(pDepartment->GetDepartmentName()=="A部门")
DEPART="A";
else if(pDepartment->GetDepartmentName()=="B部门")
DEPART="B";
else if(pDepartment->GetDepartmentName()=="C部门")
DEPART="C";
//////////////////////////////////////////////////////////////////////////
//界面的其他细节
CButton *pButton=(CButton *)GetDlgItem(IDC_SALARYSET_CONFIRM_BUTTON); //按钮不可用
pButton->EnableWindow(FALSE);
DisplaySalarySetList(); //显示工资设定列表
CDialog::OnInitDialog();
return TRUE;
}
void CSalarySetDlg::DisplaySalarySetList(){ //显示工资设定列表
CString SQL; //用来查询的SQL语句
CListCtrl *pList=(CListCtrl *)GetDlgItem(IDC_SALARYSET_RECORD_LIST); //得到能控制列表控件的指针
SQL="select * from "+DEPART+"DepartEmployee";
database.GetRecordset(SQL); //得到要查询的记录
pList->DeleteAllItems(); //删除以前的显示条目
int i=0;
while(database.m_pRecordset->adoEOF==0){ //逐个加入每一条记录
pList->InsertItem(i,"");
pList->SetItemText(i,0,(LPCTSTR)(_bstr_t)database.m_pRecordset->GetCollect("职员号"));
pList->SetItemText(i,1,(LPCTSTR)(_bstr_t)database.m_pRecordset->GetCollect("姓名"));
pList->SetItemText(i,2,(LPCTSTR)(_bstr_t)database.m_pRecordset->GetCollect("基本工资"));
pList->SetItemText(i,3,(LPCTSTR)(_bstr_t)database.m_pRecordset->GetCollect("扣除"));
i++;
database.m_pRecordset->MoveNext();
}
UpdateData(FALSE);
}
/*------------------------------------------------------------------------------*/
CSalarySetDlg::CSalarySetDlg(CWnd* pParent /*=NULL*/)
: CDialog(CSalarySetDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CSalarySetDlg)
m_id = _T("");
m_name = _T("");
m_basis = _T("");
m_deduct = _T("");
//}}AFX_DATA_INIT
}
void CSalarySetDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSalarySetDlg)
DDX_Text(pDX, IDC_SALARYSET_ID_EDIT, m_id);
DDX_Text(pDX, IDC_SALARYSET_NAME_EDIT, m_name);
DDX_Text(pDX, IDC_SALARYSET_BASIS_EDIT, m_basis);
DDV_MaxChars(pDX, m_basis, 5);
DDX_Text(pDX, IDC_SALARYSET_DEDUCT_EDIT, m_deduct);
DDV_MaxChars(pDX, m_deduct, 5);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSalarySetDlg, CDialog)
//{{AFX_MSG_MAP(CSalarySetDlg)
ON_NOTIFY(NM_CLICK, IDC_SALARYSET_RECORD_LIST, OnClickSalarysetRecordList)
ON_BN_CLICKED(IDC_SALARYSET_CANCEL_BUTTON, OnSalarysetCancelButton)
ON_BN_CLICKED(IDC_SALARYSET_CONFIRM_BUTTON, OnSalarysetConfirmButton)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSalarySetDlg message handlers
void CSalarySetDlg::OnClickSalarysetRecordList(NMHDR* pNMHDR, LRESULT* pResult){ //点了列表中的一个条目
CListCtrl *pList=(CListCtrl *)GetDlgItem(IDC_SALARYSET_RECORD_LIST); //建立一个控制列表控件资源的指针
UpdateData(TRUE);
int i=pList->GetSelectionMark();
m_id=pList->GetItemText(i,0); //职员号
m_name=pList->GetItemText(i,1); //姓名
m_basis=pList->GetItemText(i,2); //基本工资
m_deduct=pList->GetItemText(i,3); //扣除
CButton *pButton=(CButton *)GetDlgItem(IDC_SALARYSET_CONFIRM_BUTTON); //按钮可用
pButton->EnableWindow(TRUE);
UpdateData(FALSE);
*pResult = 0;
}
void CSalarySetDlg::OnSalarysetCancelButton(){ //取消
EndDialog(IDCANCEL);
}
void CSalarySetDlg::OnSalarysetConfirmButton(){ //更新职员的工资设定
CString SQL; //建立要操作的SQL语句
UpdateData(TRUE);
SQL="update "+DEPART+"DepartEmployee set 基本工资="+m_basis+",扣除="+m_deduct+" where 职员号='"+m_id+"'";
database.ExecuteSQL(SQL); //执行这条SQL语句
DisplaySalarySetList(); //显示修改后的结果
CButton *pButton=(CButton *)GetDlgItem(IDC_SALARYSET_CONFIRM_BUTTON); //按钮不可用
pButton->EnableWindow(FALSE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -