📄 main.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 + -