📄 mainview.cpp
字号:
// MainView.cpp : implementation file
#include "stdafx.h"
#include "学籍管理系统.h"
#include "MainView.h"
#include "afxdb.h"
#include "AddstuDlg.h"
#include "AddcollageDlg.h"
#include "AddteamDlg.h"
#include "AddspeDlg.h"
#include "AddsubDg.h"
#include "InpluscoreDlg.h"
#include "InspescoreDlg.h"
#include "AddmakeupDlg.h"
#include "DelinfoDlg.h"
#include "LiuTuiDlg.h"
#include "MakeupListDlg.h"
#include "PubscoreDlg.h"
#include "SpescoreDlg.h"
#include "EditstuDlg.h"
#include "AdminmanageDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMainView
IMPLEMENT_DYNCREATE(CMainView, CFormView)
CMainView::CMainView()
: CFormView(CMainView::IDD)
{
//{{AFX_DATA_INIT(CMainView)
m_main_selstunum = _T("");
m_main_selstuname = _T("");
m_main_outcon = _T("");
m_main_outname = _T("");
m_main_outno = _T("");
m_main_outdata = _T("");
m_main_outspe = _T("");
m_main_outcol = _T("");
//}}AFX_DATA_INIT
}
CMainView::~CMainView()
{
}
void CMainView::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMainView)
DDX_Control(pDX, IDC_LIST_MAINPAGE, m_list_mainpage);
DDX_Text(pDX, IDC_EDIT_MAINSELNUM, m_main_selstunum);
DDX_Text(pDX, IDC_EDIT_MAINSELNAME, m_main_selstuname);
DDX_Text(pDX, IDC_EDIT_OUTCON, m_main_outcon);
DDX_Text(pDX, IDC_EDIT_OUTNAME, m_main_outname);
DDX_Text(pDX, IDC_EDIT_OUTNO, m_main_outno);
DDX_Text(pDX, IDC_EDIT_OUTPDATE, m_main_outdata);
DDX_Text(pDX, IDC_EDIT_OUTSPE, m_main_outspe);
DDX_Text(pDX, IDC_EDIT_OUTCOL, m_main_outcol);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CMainView, CFormView)
//{{AFX_MSG_MAP(CMainView)
ON_BN_CLICKED(IDC_BUTTON_ADD, OnButtonAdd)
ON_NOTIFY(NM_RCLICK, IDC_LIST_MAINPAGE, OnRclickListMainpage)
ON_EN_CHANGE(IDC_EDIT_MAINSELNUM, OnChangeEditMainselnum)
ON_NOTIFY(NM_CLICK, IDC_LIST_MAINPAGE, OnClickListMainpage)
ON_BN_CLICKED(IDC_BUTTON_DEL, OnButtonDel)
ON_COMMAND(ID_STU_RDEL, OnStuRdel)
ON_COMMAND(ID_STU_RADD, OnStuRadd)
ON_BN_CLICKED(IDC_BUTTON_ADDCOL, OnButtonAddcol)
ON_BN_CLICKED(IDC_BUTTON_ADDTEAM, OnButtonAddteam)
ON_BN_CLICKED(IDC_BUTTON_ADDSPE, OnButtonAddspe)
ON_BN_CLICKED(IDC_BUTTON_ADDSUB, OnButtonAddsub)
ON_COMMAND(ID_MANAGE_COLADD, OnManageColadd)
ON_COMMAND(ID_MANAGE_SPCADD, OnManageSpcadd)
ON_COMMAND(ID_MANAGE_SPCDEL, OnManageSpcdel)
ON_COMMAND(ID_MANAGE_SUBADD, OnManageSubadd)
ON_COMMAND(ID_MANAGE_SUBDEL, OnManageSubdel)
ON_COMMAND(ID_MANAGE_TEAMADD, OnManageTeamadd)
ON_COMMAND(ID_MANAGE_TEAMDEL, OnManageTeamdel)
ON_COMMAND(ID_MANAGE_COLDEL, OnManageColdel)
ON_BN_CLICKED(IDC_BUTTON_INPLUSCOR, OnButtonInpluscor)
ON_BN_CLICKED(IDC_BUTTON_INSPCSCOR, OnButtonInspcscor)
ON_BN_CLICKED(IDC_BUTTON_MAKEUPADD, OnButtonMakeupadd)
ON_BN_CLICKED(IDC_BUTTON_DELINFO, OnButtonDelinfo)
ON_BN_CLICKED(IDC_BUTTON_LIUTUI, OnButtonLiutui)
ON_BN_CLICKED(IDC_BUTTON_MAKEUPLOOK, OnButtonMakeuplook)
ON_BN_CLICKED(IDC_BUTTON_PUBSCORELOOK, OnButtonPubscorelook)
ON_BN_CLICKED(IDC_BUTTON_SPESCORELOOK, OnButtonSpescorelook)
ON_EN_CHANGE(IDC_EDIT_MAINSELNAME, OnChangeEditMainselname)
ON_BN_CLICKED(IDC_BUTTON_EIIT, OnButtonEiit)
ON_COMMAND(ID_MANAGE_ADMINMANAGE, OnManageAdminmanage)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMainView diagnostics
#ifdef _DEBUG
void CMainView::AssertValid() const
{
CFormView::AssertValid();
}
void CMainView::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CMainView message handlers
void CMainView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
// TODO: Add your specialized code here and/or call the base class
//初始化列表框
m_list_mainpage.SetExtendedStyle (LVS_EX_FULLROWSELECT |LVS_EX_GRIDLINES |LVS_EX_INFOTIP);
int nWidth = 110 ;
m_list_mainpage.InsertColumn( 0 , "学号" ,LVCFMT_LEFT,90 );
m_list_mainpage.InsertColumn( 1 , "姓名" ,LVCFMT_LEFT,60 );
m_list_mainpage.InsertColumn( 2 , "性别" ,LVCFMT_LEFT,nWidth * 1 / 3 );
m_list_mainpage.InsertColumn( 3 , "民族" ,LVCFMT_LEFT,60 );
m_list_mainpage.InsertColumn( 4 , "生日" ,LVCFMT_LEFT,nWidth * 2 / 3 );
m_list_mainpage.InsertColumn( 5 , "队别" ,LVCFMT_LEFT,165 );
m_list_mainpage.InsertColumn( 6 , "专业" ,LVCFMT_LEFT,nWidth * 2 / 3 );
m_list_mainpage.InsertColumn( 7 , "入学时间" ,LVCFMT_LEFT,nWidth * 2 / 3 );
m_list_mainpage.InsertColumn( 8 , "联系方式" ,LVCFMT_LEFT,nWidth * 2 / 3 );
//插入记录
CString str(_T("select * from stuinfo"));
CStuinfoSet rs;
rs.Open(CRecordset::snapshot,str);
UpdataMainList(rs);
}
void CMainView::OnButtonAdd()
{
// TODO: Add your control notification handler code here
CAddstuDlg dlg;
if(dlg.DoModal()==IDOK)
{
CStuinfoSet rsupdata;
rsupdata.Open();
UpdataMainList(rsupdata);
MessageBox("添加记录成功","添加成功",MB_OK|MB_ICONINFORMATION);
}
}
int CMainView::GetSelected()
{
// TODO: Add your control notification handler code here
for(int i=0; i<m_list_mainpage.GetItemCount(); i++)
{
if( m_list_mainpage.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED )
{
return i;//当有一行被选中,返回行号
}
}
return -2;//如果未选中任何一行则返回-2
}
void CMainView::OnRclickListMainpage(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
CPoint point;
CMenu menu;
menu. LoadMenu(IDR_MENU_RCLICK); //get menu resource
CMenu* pPopup=menu.GetSubMenu(0);
GetCursorPos(&point);
pPopup-> TrackPopupMenu(TPM_LEFTALIGN,point.x,point.y,this);
*pResult = 0;
}
void CMainView::UpdataMainList(CStuinfoSet &rs)
{
int i = 0 ;
CString strsql="select * from stuinfo order by collage";
if(rs.IsOpen())
rs.Close();
rs.Open(CRecordset::snapshot);
m_list_mainpage.DeleteAllItems();
while ( ! rs.IsEOF())
{
m_list_mainpage.InsertItem(i, rs.m_stuNum);
m_list_mainpage.SetItemText(i, 1 ,rs.m_name);
m_list_mainpage.SetItemText(i, 2 ,rs.m_sex);
m_list_mainpage.SetItemText(i, 3 ,rs.m_race);
m_list_mainpage.SetItemText(i, 4 ,rs.m_birthday);
m_list_mainpage.SetItemText(i, 5 ,rs.m_collage+" "+rs.m_stuteam);
m_list_mainpage.SetItemText(i, 6 ,rs.m_spename);
m_list_mainpage.SetItemText(i, 7 ,rs.m_enrolment);
m_list_mainpage.SetItemText(i, 8 ,rs.m_connect);
rs.MoveNext();
i ++ ;
}
}
void CMainView::OnChangeEditMainselnum()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if (m_main_selstunum=="")
{
for (int i=0;i<m_list_mainpage.GetItemCount();i++)
{
m_list_mainpage.SetItemState(i, 0, LVIS_SELECTED|LVIS_FOCUSED);
}
return;
}
for (int i=0;i<m_list_mainpage.GetItemCount();i++)
{
CString num=m_list_mainpage.GetItemText(i,0);
if (num.Find(m_main_selstunum)!=-1)
{
m_list_mainpage.SetItemState(i, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);
}
else
{
m_list_mainpage.SetItemState(i, 0, LVIS_SELECTED|LVIS_FOCUSED);
}
}
}
void CMainView::OnClickListMainpage(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int nItem=GetSelected();
CString lpszText;
m_main_outno=m_list_mainpage.GetItemText(nItem,0) ;
m_main_outname=m_list_mainpage.GetItemText(nItem,1) ;
m_main_outdata=m_list_mainpage.GetItemText(nItem,7) ;
m_main_outspe=m_list_mainpage.GetItemText(nItem,6) ;
m_main_outcon=m_list_mainpage.GetItemText(nItem,8) ;
m_main_outcol=m_list_mainpage.GetItemText(nItem,5) ;
UpdateData(FALSE);
*pResult = 0;
}
void CMainView::OnButtonDel()
{
// TODO: Add your control notification handler code here
int nItem=GetSelected();
CString delstr,number,name;
number=m_list_mainpage.GetItemText(nItem,0) ;
name=m_list_mainpage.GetItemText(nItem,1);
if(number=="")
{
MessageBox("请选择要删除的学生记录","删除错误",MB_ICONHAND);
return;
}
delstr.Format("确认删除学号为\"%s\"的学生\"%s\"吗?",number,name);
if(MessageBox(delstr,"删除",MB_ICONQUESTION|MB_YESNO)==IDYES)
{
CString sql;
sql.Format("delete from stuinfo where stunum=\'%s\'",number);//注意是单引号
RunSQL(sql);
m_list_mainpage.DeleteItem(nItem);
MessageBox("删除成功","删除成功",MB_OK|MB_ICONINFORMATION);
}
}
void CMainView::RunSQL(CString sql)
{
CDatabase db;
CStuinfoSet delnum;
db.Open(delnum.GetDefaultConnect());
db.ExecuteSQL(sql);
}
void CMainView::OnStuRdel()
{
// TODO: Add your command handler code here
OnButtonDel();
}
void CMainView::OnStuRadd()
{
// TODO: Add your command handler code here
OnButtonAdd();
}
void CMainView::OnButtonAddcol()
{
// TODO: Add your control notification handler code here
CAddcollageDlg dlg;
dlg.DoModal();
}
void CMainView::OnButtonAddteam()
{
// TODO: Add your control notification handler code here
CAddteamDlg dlg;
dlg.DoModal();
}
void CMainView::OnButtonAddspe()
{
// TODO: Add your control notification handler code here
CAddspeDlg dlg;
dlg.DoModal();
}
void CMainView::OnButtonAddsub()
{
// TODO: Add your control notification handler code here
CAddsubDg dlg;
dlg.DoModal();
}
void CMainView::OnManageColadd() //增加学院
{
// TODO: Add your command handler code here
OnButtonAddcol();
}
void CMainView::OnManageSpcadd() //增加专业
{
// TODO: Add your command handler code here
OnButtonAddspe();
}
void CMainView::OnManageSpcdel() //删除专业
{
// TODO: Add your command handler code here
CDelinfoDlg dlg;
dlg.DoModal();
}
void CMainView::OnManageSubadd() //增加课程
{
// TODO: Add your command handler code here
OnButtonAddsub();
}
void CMainView::OnManageSubdel() //删除课程
{
// TODO: Add your command handler code here
CDelinfoDlg dlg;
dlg.DoModal();
}
void CMainView::OnManageTeamadd() //增加学员队
{
// TODO: Add your command handler code here
OnButtonAddteam();
}
void CMainView::OnManageTeamdel() //删除学员队
{
// TODO: Add your command handler code here
CDelinfoDlg dlg;
dlg.DoModal();
}
void CMainView::OnManageColdel() //删除学院
{
// TODO: Add your command handler code here
CDelinfoDlg dlg;
dlg.DoModal();
}
void CMainView::OnButtonInpluscor() //输入公共基础课程序
{
// TODO: Add your control notification handler code here
CInpluscoreDlg dlg;
dlg.DoModal();
}
void CMainView::OnButtonInspcscor()
{
// TODO: Add your control notification handler code here
CInspescoreDlg dlg;
dlg.DoModal();
}
void CMainView::OnButtonMakeupadd()
{
// TODO: Add your control notification handler code here
CAddmakeupDlg dlg;
dlg.DoModal();
}
void CMainView::OnButtonDelinfo()
{
// TODO: Add your control notification handler code here
CDelinfoDlg dlg;
dlg.DoModal();
}
void CMainView::OnButtonLiutui()
{
// TODO: Add your control notification handler code here
CLiuTuiDlg dlg;
dlg.DoModal();
}
void CMainView::OnButtonMakeuplook()
{
// TODO: Add your control notification handler code here
CMakeupListDlg dlg;
dlg.DoModal();
}
void CMainView::OnButtonPubscorelook()
{
// TODO: Add your control notification handler code here
CPubscoreDlg dlg;
dlg.DoModal();
}
void CMainView::OnButtonSpescorelook()
{
// TODO: Add your control notification handler code here
CSpescoreDlg dlg;
dlg.DoModal();
}
void CMainView::OnChangeEditMainselname()
{
UpdateData(TRUE);
if (m_main_selstuname=="")
{
for (int i=0;i<m_list_mainpage.GetItemCount();i++)
{
m_list_mainpage.SetItemState(i, 0, LVIS_SELECTED|LVIS_FOCUSED);
}
return;
}
for (int i=0;i<m_list_mainpage.GetItemCount();i++)
{
CString name=m_list_mainpage.GetItemText(i,1);
if (name.Find(m_main_selstuname)!=-1)
{
m_list_mainpage.SetItemState(i, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);
}
else
{
m_list_mainpage.SetItemState(i, 0, LVIS_SELECTED|LVIS_FOCUSED);
}
}
}
void CMainView::OnButtonEiit()
{
// TODO: Add your control notification handler code here
UpdateData();
if(GetSelected()==-2)
{
MessageBox("请选择要修改的学生记录","修改错误",MB_ICONHAND);
return;
}
CEditstuDlg dlg;
CStuinfoSet rs,rs1;
rs.m_strFilter.Format("stunum='%s'",m_main_outno);
rs.Open();
while(!rs.IsEOF())
{
dlg.m_stunum=rs.m_stuNum;
dlg.m_name=rs.m_name;
dlg.m_sex=rs.m_sex;
dlg.m_spe=rs.m_spename;
dlg.m_collage=rs.m_collage;
dlg.m_con=rs.m_connect;
dlg.m_nav=rs.m_native;
dlg.m_race=rs.m_race;
dlg.m_team=rs.m_stuteam;
int a,b,c ;
sscanf(rs.m_birthday.GetBuffer(rs.m_birthday.GetLength()),"%d-%d-%d",&a,&b,&c);
CTime time(a,b,c,0,0,0);
dlg.m_birthday=time;
sscanf(rs.m_enrolment.GetBuffer(rs.m_enrolment.GetLength()),"%d-%d-%d",&a,&b,&c);
CTime time1(a,b,c,0,0,0);
dlg.m_enrolment=time1;
rs.MoveNext();
}
rs.Close();
if (dlg.DoModal()==IDOK)
{
rs1.Open();
UpdataMainList(rs1);
MessageBox("修改成功","修改成功",MB_OK|MB_ICONINFORMATION);
}
}
void CMainView::OnManageAdminmanage()
{
// TODO: Add your command handler code here
CAdminmanageDlg dlg;
dlg.DoModal();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -