📄 staffbaseinfo.cpp
字号:
// StaffBaseInfo.cpp : implementation file
//
#include "stdafx.h"
#include "office.h"
#include "StaffBaseInfo.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CStaffBaseInfo dialog
extern int flag;
CStaffBaseInfo::CStaffBaseInfo(CWnd* pParent /*=NULL*/)
: CDialog(CStaffBaseInfo::IDD, pParent)
{
//{{AFX_DATA_INIT(CStaffBaseInfo)
m_address = _T("");
m_birthday = COleDateTime::GetCurrentTime();
m_contractCode = _T("");
m_contractDeadline = COleDateTime::GetCurrentTime();
m_graduateSchool = _T("");
m_identiyID = _T("");
m_mailAddress = _T("");
m_mayor = _T("");
m_mobilephone = _T("");
m_name = _T("");
m_note = _T("");
m_phone = _T("");
m_postcode = _T("");
m_qq = _T("");
m_staffID = _T("");
m_worktype = _T("");
m_duty = _T("");
m_department = _T("");
m_sex = _T("");
m_graduateLevel = _T("");
m_marriage = _T("");
m_nationality = _T("");
//}}AFX_DATA_INIT
}
void CStaffBaseInfo::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CStaffBaseInfo)
DDX_Control(pDX, IDC_SAVE, m_save);
DDX_Control(pDX, IDC_MODIFY, m_modify);
DDX_Control(pDX, IDC_LIST, m_list);
DDX_Control(pDX, IDC_DELETE, m_delete);
DDX_Control(pDX, IDC_CANCELLATION, m_cancel);
DDX_Control(pDX, IDC_ADD, m_add);
DDX_Text(pDX, IDC_ADDRESS, m_address);
DDX_DateTimeCtrl(pDX, IDC_BIRTHDAY, m_birthday);
DDX_Text(pDX, IDC_CONTRACTCODE, m_contractCode);
DDX_DateTimeCtrl(pDX, IDC_CONTRACTDEADLINE, m_contractDeadline);
DDX_Text(pDX, IDC_GRADUATESCHOOL, m_graduateSchool);
DDX_Text(pDX, IDC_IDENTITYID, m_identiyID);
DDX_Text(pDX, IDC_MAILADDRESS, m_mailAddress);
DDX_Text(pDX, IDC_MAYOR, m_mayor);
DDX_Text(pDX, IDC_MOBILEPHONE, m_mobilephone);
DDX_Text(pDX, IDC_NAME, m_name);
DDX_Text(pDX, IDC_NOTE, m_note);
DDX_Text(pDX, IDC_PHONE, m_phone);
DDX_Text(pDX, IDC_POSTCODE, m_postcode);
DDX_Text(pDX, IDC_QQ, m_qq);
DDX_Text(pDX, IDC_STAFFID, m_staffID);
DDX_Text(pDX, IDC_WORKTYPE, m_worktype);
DDX_CBString(pDX, IDC_DUTY, m_duty);
DDX_CBString(pDX, IDC_DEPARTMENT, m_department);
DDX_CBString(pDX, IDC_SEX, m_sex);
DDX_CBString(pDX, IDC_EDUCATIONLEVEL, m_graduateLevel);
DDX_CBString(pDX, IDC_MARRIAGE, m_marriage);
DDX_CBString(pDX, IDC_NATIONALITY, m_nationality);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CStaffBaseInfo, CDialog)
//{{AFX_MSG_MAP(CStaffBaseInfo)
ON_NOTIFY(NM_CLICK, IDC_LIST, OnClickList)
ON_BN_CLICKED(IDC_DELETE, OnDelete)
ON_BN_CLICKED(IDC_MODIFY, OnModify)
ON_BN_CLICKED(IDC_ADD, OnAdd)
ON_BN_CLICKED(IDC_SAVE, OnSave)
ON_BN_CLICKED(IDC_CANCELLATION, OnCancellation)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CStaffBaseInfo message handlers
BOOL CStaffBaseInfo::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
DWORD style;
style=m_list.GetExStyle();//读取样式;
style=(style|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT)&(~LVS_EX_CHECKBOXES);//设置样式;
m_list.SetExtendedStyle(style);
m_list.InsertColumn(0,"员工号",LVCFMT_LEFT,60);
m_list.InsertColumn(1,"姓名",LVCFMT_LEFT,80);
m_list.InsertColumn(2,"职务",LVCFMT_LEFT,80);
//下拉框中添加条目
//性别
((CComboBox*)GetDlgItem(IDC_SEX))->AddString("男");
((CComboBox*)GetDlgItem(IDC_SEX))->AddString("女");
//部门
((CComboBox*)GetDlgItem(IDC_DEPARTMENT))->AddString("事务部");
((CComboBox*)GetDlgItem(IDC_DEPARTMENT))->AddString("技术部");
((CComboBox*)GetDlgItem(IDC_DEPARTMENT))->AddString("助理部");
((CComboBox*)GetDlgItem(IDC_DEPARTMENT))->AddString("后勤集团");
//所属民族
((CComboBox*)GetDlgItem(IDC_NATIONALITY))->AddString("汉族");
((CComboBox*)GetDlgItem(IDC_NATIONALITY))->AddString("藏族");
((CComboBox*)GetDlgItem(IDC_NATIONALITY))->AddString("满族");
((CComboBox*)GetDlgItem(IDC_NATIONALITY))->AddString("土家族");
((CComboBox*)GetDlgItem(IDC_NATIONALITY))->AddString("其他");
//职务
((CComboBox*)GetDlgItem(IDC_DUTY))->AddString("总监");
((CComboBox*)GetDlgItem(IDC_DUTY))->AddString("项目经理");
((CComboBox*)GetDlgItem(IDC_DUTY))->AddString("项目经理秘书");
//婚否
((CComboBox*)GetDlgItem(IDC_MARRIAGE))->AddString("是");
((CComboBox*)GetDlgItem(IDC_MARRIAGE))->AddString("否");
//文化背景:学历
((CComboBox*)GetDlgItem(IDC_EDUCATIONLEVEL))->AddString("博士后");
((CComboBox*)GetDlgItem(IDC_EDUCATIONLEVEL))->AddString("博士");
((CComboBox*)GetDlgItem(IDC_EDUCATIONLEVEL))->AddString("硕士");
((CComboBox*)GetDlgItem(IDC_EDUCATIONLEVEL))->AddString("本科");
((CComboBox*)GetDlgItem(IDC_EDUCATIONLEVEL))->AddString("专棵");
((CComboBox*)GetDlgItem(IDC_EDUCATIONLEVEL))->AddString("高中及以下");
try
{
::CoInitialize(NULL);
_ConnectionPtr m_pConn("ADODB.Connection");
m_pConn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\DataSource\\office1.mdb;Persist Security Info=False","","",adConnectUnspecified);
_RecordsetPtr m_pRecordset("ADODB.Recordset");//记录集
m_pRecordset->Open("Select*From 人员基本档案",_variant_t(m_pConn,true),adOpenDynamic,adLockPessimistic,adCmdText);
int i=0;
while(!m_pRecordset->EndOfFile)
{
m_list.InsertItem(i,(_bstr_t)m_pRecordset->GetCollect("StaffID"));
m_list.SetItemText(i,1,(_bstr_t)m_pRecordset->GetCollect("StaffName"));
m_list.SetItemText(i,2,(_bstr_t)m_pRecordset->GetCollect("Duty"));
i++;
m_pRecordset->MoveNext();
}
}
//捕获异常
catch(_com_error&e)
{
MessageBox(e.ErrorMessage());
}
//该时候以下控件不能用
//按钮
GetDlgItem(IDC_DELETE)->EnableWindow(false);
GetDlgItem(IDC_MODIFY)->EnableWindow(false);
GetDlgItem(IDC_SAVE)->EnableWindow(false);
GetDlgItem(IDC_CANCELLATION)->EnableWindow(false);
//编辑框;
GetDlgItem(IDC_PHONE)->EnableWindow(false);
GetDlgItem(IDC_MAILADDRESS)->EnableWindow(false);
GetDlgItem(IDC_QQ)->EnableWindow(false);
GetDlgItem(IDC_MAYOR)->EnableWindow(false);
GetDlgItem(IDC_MOBILEPHONE)->EnableWindow(false);
GetDlgItem(IDC_NOTE)->EnableWindow(false);
GetDlgItem(IDC_POSTCODE)->EnableWindow(false);
GetDlgItem(IDC_IDENTITYID)->EnableWindow(false);
GetDlgItem(IDC_WORKTYPE)->EnableWindow(false);
GetDlgItem(IDC_MARRIAGE)->EnableWindow(false);
GetDlgItem(IDC_DUTY)->EnableWindow(false);
GetDlgItem(IDC_DEPARTMENT)->EnableWindow(false);
GetDlgItem(IDC_SEX)->EnableWindow(false);
GetDlgItem(IDC_BIRTHDAY)->EnableWindow(false);
GetDlgItem(IDC_NATIONALITY)->EnableWindow(false);
GetDlgItem(IDC_EDUCATIONLEVEL)->EnableWindow(false);
GetDlgItem(IDC_STAFFID)->EnableWindow(false);
GetDlgItem(IDC_NAME)->EnableWindow(false);
GetDlgItem(IDC_CONTRACTCODE)->EnableWindow(false);
GetDlgItem(IDC_CONTRACTDEADLINE)->EnableWindow(false);
GetDlgItem(IDC_ADDRESS)->EnableWindow(false);
GetDlgItem(IDC_GRADUATESCHOOL)->EnableWindow(false);
return TRUE;
}
#include "staffinfo.h"
void CStaffBaseInfo::OnClickList(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
UpdateData();
POSITION pos=m_list.GetFirstSelectedItemPosition();//获得单击的位置
if(pos)
{
int nFistSelItem=m_list.GetNextSelectedItem(pos);//获得单击条目
m_staffID=m_list.GetItemText(nFistSelItem,0);//获得事务主题
}
//打造个CStaffInfo实例
CStaffInfo staffinfo;
//获取数据
staffinfo.GetData(m_staffID);
m_address =staffinfo.m_address ;
m_birthday =staffinfo.m_birthday;
m_contractCode = staffinfo.m_contractCode ;
m_contractDeadline =staffinfo.m_contractDeadline;
m_graduateSchool = staffinfo.m_graduateSchool;
m_identiyID = staffinfo.m_identiyID;
m_mailAddress = staffinfo.m_mailAddress;
m_mayor =staffinfo.m_mayor ;
m_mobilephone =staffinfo. m_mobilephone;
m_name =staffinfo.m_name ;
m_note =staffinfo.m_note ;
m_phone = staffinfo.m_phone;
m_postcode = staffinfo.m_postcode;
m_qq = staffinfo.m_qq;
m_staffID = staffinfo.m_staffID;
m_worktype = staffinfo.m_worktype;
m_sex=staffinfo.m_sex;
m_nationality=staffinfo.m_nationality;
m_duty=staffinfo.m_duty;
m_department=staffinfo.m_department;
m_graduateLevel=staffinfo.m_graduateLevel;
m_marriage=staffinfo.m_marriage;
UpdateData(false);
//选中后,处于可编辑状态
GetDlgItem(IDC_DELETE)->EnableWindow();
GetDlgItem(IDC_MODIFY)->EnableWindow();
GetDlgItem(IDC_SAVE)->EnableWindow(FALSE);
GetDlgItem(IDC_CANCELLATION)->EnableWindow(FALSE);
*pResult = 0;
}
/*
m_address = _T("");
m_contractCode = _T("");
m_contractDeadline = COleDateTime::GetCurrentTime();
m_graduateSchool = _T("");
m_identiyID = _T("");
m_mailAddress = _T("");
m_mayor = _T("");
m_mobilephone = _T("");
m_name = _T("");
m_note = _T("");
m_phone = _T("");
m_postcode = _T("");
m_qq = _T("");
m_staffID = _T("");
m_worktype = _T("");
m_duty = _T("");
m_department = _T("");
m_sex = _T("");
m_graduateLevel = _T("");
m_marriage = _T("");
m_nationality = _T("");*
*/
void CStaffBaseInfo::Refresh()
{
m_list.DeleteAllItems();
try
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -