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

📄 main.cpp

📁 用VC++6.0开发的人事信息系统
💻 CPP
字号:
// main.cpp : implementation file
//

#include "stdafx.h"
#include "test.h"
#include "main.h"
#include "find.h"
#include "tongji.h"
#include "yuangong.h"
#include "mysheet.h"
#include "yonghuSet.h"
#include "shituSet.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// main dialog


main::main(CWnd* pParent /*=NULL*/)
: CDialog(main::IDD, pParent)
{
	//{{AFX_DATA_INIT(main)
	// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}


void main::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(main)
	DDX_Control(pDX, IDC_LIST1, m_nList);
	//}}AFX_DATA_MAP
	char *szColumn[]={"编号","姓名","性别","部门","职位","职称","电话","入职日期","学历"
		,"专业","基本工资","身份证号","电子邮箱","婚姻状况","民族","籍贯","出生日期",
		"政治面貌","毕业院校","联系地址","工号","合同起始","合同终止"};
	int widths[]={50,100,50,70,70,70,100,100,50,100,120,150,120,
		70,70,100,100,70,150,150,100,100,100};
	LV_COLUMN lvc;
	lvc.mask=LVCF_FMT|LVCF_WIDTH|LVCF_TEXT|LVCF_SUBITEM;
	lvc.fmt=LVCFMT_LEFT;
	for(int i=0;i<23;i++){
		lvc.pszText=szColumn[i];
		lvc.cx=widths[i];
		lvc.iSubItem=i;
		m_nList.InsertColumn(i,&lvc);
	}
	m_nList.SetExtendedStyle(LVS_EX_FLATSB|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
}


BEGIN_MESSAGE_MAP(main, CDialog)
//{{AFX_MSG_MAP(main)
ON_BN_CLICKED(IDC_BUTTON8, OnButton8)
ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
ON_COMMAND(ID_ADD, OnAdd)
ON_WM_CREATE()
ON_COMMAND(ID_OPTION, OnOption)
ON_BN_CLICKED(IDC_LIULAN, OnLiulan)
ON_COMMAND(ID_DELETE, OnDelete)
ON_COMMAND(ID_EDIT, OnEdit)
ON_NOTIFY(LVN_COLUMNCLICK, IDC_LIST1, OnColumnclickList1)
ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnDblclkList1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// main message handlers

int main::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CDialog::OnCreate(lpCreateStruct) == -1)
		return -1;
	SetIcon(m_hIcon, TRUE);		
	SetIcon(m_hIcon, FALSE);
	CMenu*pMenu=GetSystemMenu(FALSE);
	pMenu->DeleteMenu(SC_SIZE,MF_BYCOMMAND);
	pMenu->DeleteMenu(SC_MAXIMIZE,MF_BYCOMMAND);
	// TODO: Add your specialized creation code here
	return 0;
}

void main::OnButton8() 
{
	// TODO: Add your control notification handler code here
	find dlg;
	if(dlg.DoModal()==IDOK)
	{
		AddItem(dlg.sql,"","number ASC");
	}
}

void main::OnCancel() 
{
	// TODO: Add extra cleanup here
	if(MessageBox("是否退出本系统吗?","提示",MB_OKCANCEL|MB_ICONQUESTION)==2)
		return;
	CDialog::OnCancel();
}

void main::OnOK() 
{
	// TODO: Add extra validation here
	CWnd * pFrame;					
	pFrame=AfxGetApp()->GetMainWnd();
	CWnd* pWndPopupOwner = this;
	VERIFY(m_menu.LoadMenu(IDR_MENU));
	CPoint point;
	GetCursorPos(&point);
	::SetForegroundWindow(m_hWnd); 
	CMenu* pPopup = m_menu.GetSubMenu(0);
	pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,pWndPopupOwner,NULL);
	m_menu.DestroyMenu();
	//CDialog::OnOK();
}

void main::OnButton2() 
{
	// TODO: Add your control notification handler code here
	tongji dlg;
	if(dlg.DoModal()==IDOK)
	{
		AddItem(dlg.sql,"","number ASC");
	}
}

void main::OnAdd() 
{
	// TODO: Add your command handler code here
	yuangong dlg;
	dlg.type=0;
	if(dlg.DoModal()==IDOK)
	{
		MessageBox("添加成功!","提示",MB_OK);
		AddItem(tmpSql,"","number ASC");
	}
}

void main::OnOption() 
{
	// TODO: Add your command handler code here
	mysheet ps (_T ("相关设置"));
	if(ps.DoModal()) AddItem(tmpSql,"","number ASC");
}

void main::OnLiulan() 
{
	// TODO: Add your control notification handler code here
	AddItem("select * from yonghu","","number ASC");
}

void main::OnDelete() 
{
	// TODO: Add your command handler code here
	if(m_nList.GetSelectionMark()==CB_ERR) return;
	CString tmp;
	tmp=m_nList.GetItemText(m_nList.GetSelectionMark(),0);
	CYonghuSet m_nSet;
	if(m_nSet.IsOpen())
		m_nSet.Close();
	m_nSet.m_strFilter.Format("number='%s'",tmp);
	m_nSet.Open();
	tmp=m_nSet.m_number;
	CString out;
	out.Format("请确认是否删除编号为%s的员工的信息?\n(该操作无法恢复,请谨慎操作!)",tmp);
	if(MessageBox(out,"提示",MB_ICONWARNING|
		MB_OKCANCEL)==1)
	{
		m_nSet.Delete();
		m_nSet.Close();
		out.Format("已成功删除编号为%S的员工的信息!",tmp);
		MessageBox(out);
		AddItem(tmpSql,"","number ASC");
	}
	else
	{
		m_nSet.Close();
		return;
	}
}

void main::OnEdit() 
{
	// TODO: Add your command handler code here
	if(m_nList.GetSelectionMark()==CB_ERR) return;
	yuangong dlg;
	dlg.type=1;
	dlg.hao=m_nList.GetItemText(m_nList.GetSelectionMark(),0);
	if(dlg.DoModal()==IDOK)
	{
		MessageBox("编辑成功!","提示",MB_OK);
		AddItem(tmpSql,"","number ASC");
	}
}

BOOL main::AddItem(CString Sql,CString Filter,CString Sort)
{
	m_nList.DeleteAllItems();
	CShituSet m_nSet;
	m_nSet.m_strFilter.Format(Filter);
	m_nSet.m_strSort.Format(Sort);
	if(!m_nSet.Open(CRecordset::snapshot,Sql)) return FALSE;
	tmpSql=Sql;
	for(int Count=0;!m_nSet.IsEOF();m_nSet.MoveNext(),Count++)
	{
		m_nList.InsertItem(Count,m_nSet.m_number);
		m_nList.SetItemText(Count,1,m_nSet.m_name);
		m_nList.SetItemText(Count,2,m_nSet.m_sex);
		m_nList.SetItemText(Count,3,m_nSet.m_bumen);
		m_nList.SetItemText(Count,4,m_nSet.m_zhiwei);
		m_nList.SetItemText(Count,5,m_nSet.m_zhichen);
		m_nList.SetItemText(Count,6,m_nSet.m_phone);
		m_nList.SetItemText(Count,7,m_nSet.m_ruzhi.Format("%Y-%m-%d"));
		m_nList.SetItemText(Count,8,m_nSet.m_xueli);
		m_nList.SetItemText(Count,9,m_nSet.m_zhuanye);
		m_nList.SetItemText(Count,10,m_nSet.m_gongzi);
		m_nList.SetItemText(Count,11,m_nSet.m_shenfen);
		m_nList.SetItemText(Count,12,m_nSet.m_email);
		m_nList.SetItemText(Count,13,m_nSet.m_hunyin);
		m_nList.SetItemText(Count,14,m_nSet.m_mingzhu);
		m_nList.SetItemText(Count,15,m_nSet.m_jiguan);
		m_nList.SetItemText(Count,16,m_nSet.m_chusheng.Format("%Y-%m-%d"));
		m_nList.SetItemText(Count,17,m_nSet.m_zhengzhi);
		m_nList.SetItemText(Count,18,m_nSet.m_biye);
		m_nList.SetItemText(Count,19,m_nSet.m_dizhi);
		m_nList.SetItemText(Count,20,m_nSet.m_gonghao);
		m_nList.SetItemText(Count,21,m_nSet.m_hetongqi.Format("%Y-%m-%d"));
		m_nList.SetItemText(Count,22,m_nSet.m_hetongzhong.Format("%Y-%m-%d"));
	}
	m_nList.SetSelectionMark(0);
	m_nSet.Close();
	return TRUE;
}

BOOL main::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	AddItem("select * from yonghu","","number ASC");
	m_bIsAsc=FALSE;
	return TRUE;  // return TRUE unless you set the focus to a control
	// EXCEPTION: OCX Property Pages should return FALSE
}

void main::OnColumnclickList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
	// TODO: Add your control notification handler code here
	switch(pNMListView->iSubItem)
	{
	case 0:LoadSortList("number");
		break;
	case 1:LoadSortList("name");
		break;
	case 2:LoadSortList("sex");
		break;
	case 3:LoadSortList("bumen");
		break;
	case 4:LoadSortList("zhiwei");
		break;
	case 5:LoadSortList("zhichen");
		break;
	case 6:LoadSortList("phone");
		break;
	case 7:LoadSortList("ruzhi");
		break;
	case 8:LoadSortList("xueli");
		break;
	case 9:LoadSortList("gongzi");
		break;
	case 10:LoadSortList("shenfen");
		break;
	case 11:LoadSortList("email");
		break;
	case 12:LoadSortList("hunyin");
		break;
	case 13:LoadSortList("mingzhu");
		break;
	case 14:LoadSortList("jiguan");
		break;
	case 15:LoadSortList("chusheng");
		break;
	case 16:LoadSortList("zhengzhi");
		break;
	case 17:LoadSortList("biye");
		break;
	case 18:LoadSortList("dizhi");
		break;
	case 19:LoadSortList("gonghao");
		break;
	case 20:LoadSortList("hetongqi");
		break;
	case 21:LoadSortList("hetongzhong");
		break;
	}
	*pResult = 0;
}

void main::LoadSortList(CString strSortBy)
{
	CString sort;
	if(m_bIsAsc)
	{
		sort=strSortBy+" ASC";
		m_bIsAsc=FALSE;
	}
	else
	{
		sort=strSortBy+" DESC";
		m_bIsAsc=TRUE;
	}
	AddItem(tmpSql,"",sort);
}

void main::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	OnEdit();
	*pResult = 0;
}

⌨️ 快捷键说明

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