📄 mycourseteacher.cpp
字号:
// MyCourseTeacher.cpp : 实现文件
//
#include "stdafx.h"
#include "ScoreGather.h"
#include "MyCourseTeacher.h"
#include ".\mycourseteacher.h"
// CMyCourseTeacher 对话框
IMPLEMENT_DYNAMIC(CMyCourseTeacher, CDialog)
CMyCourseTeacher::CMyCourseTeacher(CWnd* pParent /*=NULL*/)
: CDialog(CMyCourseTeacher::IDD, pParent)
{
}
CMyCourseTeacher::~CMyCourseTeacher()
{
}
void CMyCourseTeacher::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LIST1, m_list1);
DDX_Control(pDX, IDC_YEAR, m_year);
DDX_Control(pDX, IDC_PLACENAME, m_placename);
DDX_Control(pDX, IDC_SCHOOLNAME, m_schoolname);
DDX_Control(pDX, IDC_COURSENAME, m_coursename);
DDX_Control(pDX, IDC_GRADELIST, m_gradelist);
DDX_Control(pDX, IDC_TEACHERNAME, m_teachername);
DDX_Control(pDX, IDC_ADD, m_add);
DDX_Control(pDX, IDC_MODIFY, m_modify);
DDX_Control(pDX, IDC_DEL, m_del);
}
BEGIN_MESSAGE_MAP(CMyCourseTeacher, CDialog)
ON_NOTIFY(NM_CLICK, IDC_LIST1, OnNMClickList1)
ON_BN_CLICKED(IDC_ADD, OnBnClickedAdd)
ON_BN_CLICKED(IDC_MODIFY, OnBnClickedModify)
ON_BN_CLICKED(IDC_DEL, OnBnClickedDel)
ON_WM_ERASEBKGND()
ON_WM_CTLCOLOR()
ON_CBN_SELCHANGE(IDC_YEAR, OnCbnSelchangeYear)
ON_CBN_SELCHANGE(IDC_PLACENAME, OnCbnSelchangePlacename)
ON_CBN_SELCHANGE(IDC_SCHOOLNAME, OnCbnSelchangeSchoolname)
ON_CBN_SELCHANGE(IDC_GRADELIST, OnCbnSelchangeGradelist)
ON_CBN_SELCHANGE(IDC_COURSENAME, OnCbnSelchangeCoursename)
END_MESSAGE_MAP()
// CMyCourseTeacher 消息处理程序
BOOL CMyCourseTeacher::OnInitDialog()
{
CDialog::OnInitDialog();
m_tooltip.Create(this,TTS_ALWAYSTIP);
m_tooltip.Activate(TRUE);
m_tooltip.AddTool(GetDlgItem(IDC_LIST1),IDS_MCT_LIST1);
m_tooltip.AddTool(GetDlgItem(IDC_YEAR),IDS_YEAR);
m_tooltip.AddTool(GetDlgItem(IDC_PLACENAME),IDS_MCT_PLACENAME);
m_tooltip.AddTool(GetDlgItem(IDC_SCHOOLNAME),IDS_SCN_SCHOOLNAME);
m_tooltip.AddTool(GetDlgItem(IDC_COURSENAME),IDS_COURSE);
m_tooltip.AddTool(GetDlgItem(IDC_GRADELIST),IDS_CLASS);
m_tooltip.AddTool(GetDlgItem(IDC_TEACHERNAME),IDS_TEACHERNAME);
m_tooltip.AddTool(GetDlgItem(IDC_ADD),IDS_ADD);
m_tooltip.AddTool(GetDlgItem(IDC_MODIFY),IDS_MODIFY);
m_tooltip.AddTool(GetDlgItem(IDC_DEL),IDS_DEL);
wnd_year=GetDlgItem(IDC_YEAR);
wnd_placename=GetDlgItem(IDC_PLACENAME);
wnd_schoolname=GetDlgItem(IDC_SCHOOLNAME);
wnd_coursename=GetDlgItem(IDC_COURSENAME);
wnd_gradelist=GetDlgItem(IDC_GRADELIST);
wnd_teachername=GetDlgItem(IDC_TEACHERNAME);
DWORD style;
style=m_list1.GetExStyle(); //获取样式
style=(style|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT)&(~LVS_EX_CHECKBOXES) ; //设置样式
m_list1.SetExtendedStyle(style); //应用样式
m_list1.InsertColumn(0,"学 年 度",LVCFMT_LEFT,200);
m_list1.InsertColumn(1,"乡 镇",LVCFMT_LEFT,150);
m_list1.InsertColumn(2,"学 校",LVCFMT_LEFT,140);
m_list1.InsertColumn(3,"班 级",LVCFMT_LEFT,100);
m_list1.InsertColumn(4,"学 科",LVCFMT_LEFT,100);
m_list1.InsertColumn(5,"任课教师",LVCFMT_LEFT,120);
return TRUE;
}
void CMyCourseTeacher::OnNMClickList1(NMHDR *pNMHDR, LRESULT *pResult)
{
POSITION pos=m_list1.GetFirstSelectedItemPosition();
int row;
if(pos)
{
row=m_list1.GetNextSelectedItem(pos);
m_year.SetCurSel(m_year.FindString(0,m_list1.GetItemText(row,0)));
OnCbnSelchangeYear();
m_placename.SetCurSel(m_placename.FindString(0,m_list1.GetItemText(row,1)));
OnCbnSelchangePlacename();
m_schoolname.SetCurSel(m_schoolname.FindString(0,m_list1.GetItemText(row,2)));
OnCbnSelchangeSchoolname();
m_gradelist.SetCurSel(m_gradelist.FindString(0,m_list1.GetItemText(row,3)));
m_coursename.SetCurSel(m_coursename.FindString(0,m_list1.GetItemText(row,4)));
SetDlgItemText(IDC_TEACHERNAME,m_list1.GetItemText(row,5));
}
else
{
m_year.SetCurSel(-1);
m_placename.SetCurSel(-1);
m_schoolname.SetCurSel(-1);
m_gradelist.SetCurSel(-1);
m_coursename.SetCurSel(-1);
SetDlgItemText(IDC_TEACHERNAME,_T(""));
}
*pResult = 0;
}
void CMyCourseTeacher::OnCbnSelchangeYear()
{
if(m_year.GetCurSel()>=0)
{
CString str;
m_year.GetLBText(m_year.GetCurSel(),str);
m_placename.ResetContent();
m_schoolname.ResetContent();
m_gradelist.ResetContent();
m_coursename.ResetContent();
SetDlgItemText(IDC_TEACHERNAME,_T(""));
CString strSQL;
strSQL="select * from schoolnumber";
strSQL=strSQL+" where my_year='";
strSQL=strSQL+str+"'";
HRESULT hTRes;
hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(strSQL.GetLength()),
((CScoreGatherApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText); //执行查询,打开记录集]
while(!(m_pRecordset->adoEOF))
{
CString string;
string=p_MySetClass->GetString(m_pRecordset->GetCollect("my_placename"));
if(m_placename.FindString(0,string)==-1)
m_placename.AddString(string);
if(!(m_pRecordset->adoEOF))
m_pRecordset->MoveNext();
}
m_pRecordset->Close();
m_pRecordset=NULL;
strSQL="select * from yearcourse";
strSQL=strSQL+" where my_year='";
strSQL=strSQL+str+"'";
hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(strSQL.GetLength()),
((CScoreGatherApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText); //执行查询,打开记录集]
while(!(m_pRecordset->adoEOF))
{
CString string;
string=p_MySetClass->GetString(m_pRecordset->GetCollect("my_coursename"));
if(m_coursename.FindString(0,string)==-1)
m_coursename.AddString(string);
if(!(m_pRecordset->adoEOF))
m_pRecordset->MoveNext();
}
m_pRecordset->Close();
m_pRecordset=NULL;
}
}
void CMyCourseTeacher::OnCbnSelchangePlacename()
{
if(m_year.GetCurSel()>=0 && m_placename.GetCurSel()>=0)
{
CString str,str1;
m_year.GetLBText(m_year.GetCurSel(),str);
m_placename.GetLBText(m_placename.GetCurSel(),str1);
m_schoolname.ResetContent();
m_gradelist.ResetContent();
SetDlgItemText(IDC_TEACHERNAME,_T(""));
CString strSQL;
strSQL="select * from schoolnumber";
strSQL=strSQL+" where my_year='";
strSQL=strSQL+str+"'";
strSQL=strSQL+" AND my_placename='";
strSQL=strSQL+str1+"'";
HRESULT hTRes;
hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(strSQL.GetLength()),
((CScoreGatherApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText); //执行查询,打开记录集]
while(!(m_pRecordset->adoEOF))
{
CString string;
string=p_MySetClass->GetString(m_pRecordset->GetCollect("my_schoolname"));
if(m_schoolname.FindString(0,string)==-1)
m_schoolname.AddString(string);
if(!(m_pRecordset->adoEOF))
m_pRecordset->MoveNext();
}
m_pRecordset->Close();
m_pRecordset=NULL;
}
}
void CMyCourseTeacher::OnCbnSelchangeSchoolname()
{
if(m_year.GetCurSel()>=0 && m_placename.GetCurSel()>=0 && m_schoolname.GetCurSel()>=0)
{
CString str,str1,str2;
m_year.GetLBText(m_year.GetCurSel(),str);
m_placename.GetLBText(m_placename.GetCurSel(),str1);
m_schoolname.GetLBText(m_schoolname.GetCurSel(),str2);
m_gradelist.ResetContent();
SetDlgItemText(IDC_TEACHERNAME,_T(""));
CString strSQL;
strSQL="select * from schoolnumber";
strSQL=strSQL+" where my_year='";
strSQL=strSQL+str+"'";
strSQL=strSQL+" AND my_placename='";
strSQL=strSQL+str1+"'";
strSQL=strSQL+" AND my_schoolname='";
strSQL=strSQL+str2+"'";
HRESULT hTRes;
hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(strSQL.GetLength()),
((CScoreGatherApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText); //执行查询,打开记录集
while(!(m_pRecordset->adoEOF))
{
CString string;
string=p_MySetClass->GetString(m_pRecordset->GetCollect("my_gradeclassname"));
if(m_gradelist.FindString(0,string)==-1)
m_gradelist.AddString(string);
if(!(m_pRecordset->adoEOF))
m_pRecordset->MoveNext();
}
m_pRecordset->Close();
m_pRecordset=NULL;
}
}
void CMyCourseTeacher::OnCbnSelchangeGradelist()
{
if(m_year.GetCurSel()>=0 && m_placename.GetCurSel()>=0 && m_schoolname.GetCurSel()>=0 && m_gradelist.GetCurSel()>=0)
SetDlgItemText(IDC_TEACHERNAME,_T(""));
}
void CMyCourseTeacher::OnCbnSelchangeCoursename()
{
if(m_year.GetCurSel()>=0 && m_placename.GetCurSel()>=0 && m_schoolname.GetCurSel()>=0 && m_gradelist.GetCurSel()>=0 && m_coursename.GetCurSel()>=0)
SetDlgItemText(IDC_TEACHERNAME,_T(""));
}
void CMyCourseTeacher::OnBnClickedAdd()
{
CString str1,str2,str3,str4,str5,str6;
if(m_year.GetCurSel()<0)
{
AfxMessageBox("必须选择学年度!");
GotoDlgCtrl(wnd_year);
return;
}
else
m_year.GetLBText(m_year.GetCurSel(),str1);
if(m_placename.GetCurSel()<0)
{
AfxMessageBox("必须选择乡镇!");
GotoDlgCtrl(wnd_placename);
return;
}
else
m_placename.GetLBText(m_placename.GetCurSel(),str2);
if(m_schoolname.GetCurSel()<0)
{
AfxMessageBox("必须选择学校!");
GotoDlgCtrl(wnd_schoolname);
return;
}
else
m_schoolname.GetLBText(m_schoolname.GetCurSel(),str3);
if(m_gradelist.GetCurSel()<0)
{
AfxMessageBox("必须选择班级!");
GotoDlgCtrl(wnd_gradelist);
return;
}
else
m_gradelist.GetLBText(m_gradelist.GetCurSel(),str4);
if(m_coursename.GetCurSel()<0)
{
AfxMessageBox("必须选择学科!");
GotoDlgCtrl(wnd_coursename);
return;
}
else
m_coursename.GetLBText(m_coursename.GetCurSel(),str5);
GetDlgItemText(IDC_TEACHERNAME,str6);
if(str6.IsEmpty())
{
AfxMessageBox("必须填写授课教师!");
GotoDlgCtrl(wnd_teachername);
return;
}
int row=m_list1.GetItemCount();
for(int i=0;i<=row;i++)
{
if(m_list1.GetItemText(i,0)+m_list1.GetItemText(i,1)+m_list1.GetItemText(i,2)+m_list1.GetItemText(i,3)+m_list1.GetItemText(i,4)+m_list1.GetItemText(i,5)==str1+str2+str3+str4+str5+str6)
{
AfxMessageBox("数据不能重复!");
return;
}
}
m_list1.InsertItem(row,str1);
m_list1.SetItemText(row,1,str2);
m_list1.SetItemText(row,2,str3);
m_list1.SetItemText(row,3,str4);
m_list1.SetItemText(row,4,str5);
m_list1.SetItemText(row,5,str6);
CString strSQL="select * from courseteacher";
HRESULT hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CScoreGatherApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
m_pRecordset->AddNew();
m_pRecordset->PutCollect("my_year",_variant_t(m_list1.GetItemText(row,0)));
m_pRecordset->PutCollect("my_placename",_variant_t(m_list1.GetItemText(row,1)));
m_pRecordset->PutCollect("my_schoolname",_variant_t(m_list1.GetItemText(row,2)));
m_pRecordset->PutCollect("my_classname",_variant_t(m_list1.GetItemText(row,3)));
m_pRecordset->PutCollect("my_coursename",_variant_t(m_list1.GetItemText(row,4)));
m_pRecordset->PutCollect("my_teachername",_variant_t(m_list1.GetItemText(row,5)));
m_pRecordset->Update();
GotoDlgCtrl(wnd_gradelist);
}
m_pRecordset->Close();
m_pRecordset=NULL;
}
void CMyCourseTeacher::OnBnClickedModify()
{
// TODO: 在此添加控件通知处理程序代码
}
void CMyCourseTeacher::OnBnClickedDel()
{
// TODO: 在此添加控件通知处理程序代码
}
void CMyCourseTeacher::UpDateView(void)
{
m_year.ResetContent();
m_placename.ResetContent();
m_schoolname.ResetContent();
m_gradelist.ResetContent();
m_coursename.ResetContent();
SetDlgItemText(IDC_TEACHERNAME,_T(""));
CString strSQL;
strSQL="select * from yearcourse";
HRESULT hTRes;
hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CScoreGatherApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
while(!(m_pRecordset->adoEOF))
{
CString str=p_MySetClass->GetString(m_pRecordset->GetCollect("my_year"));
if(m_year.FindString(0,str)==-1)
m_year.AddString(str);
if(!(m_pRecordset->adoEOF))
m_pRecordset->MoveNext();
}
}
m_pRecordset->Close();
m_pRecordset=NULL;
strSQL="select * from courseteacher";
hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CScoreGatherApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
int r=0;
m_list1.DeleteAllItems();
while(!(m_pRecordset->adoEOF))
{
m_list1.InsertItem(r,NULL);
m_list1.SetItemText(r,0,p_MySetClass->GetString(m_pRecordset->GetCollect("my_year")));
m_list1.SetItemText(r,1,p_MySetClass->GetString(m_pRecordset->GetCollect("my_placename")));
m_list1.SetItemText(r,2,p_MySetClass->GetString(m_pRecordset->GetCollect("my_schoolname")));
m_list1.SetItemText(r,3,p_MySetClass->GetString(m_pRecordset->GetCollect("my_classname")));
m_list1.SetItemText(r,4,p_MySetClass->GetString(m_pRecordset->GetCollect("my_coursename")));
m_list1.SetItemText(r,5,p_MySetClass->GetString(m_pRecordset->GetCollect("my_teachername")));
if(!(m_pRecordset->adoEOF))
m_pRecordset->MoveNext();
r++;
}
}
m_pRecordset->Close();
m_pRecordset=NULL;
}
BOOL CMyCourseTeacher::PreTranslateMessage(MSG* pMsg)
{
m_tooltip.RelayEvent(pMsg);
return CDialog::PreTranslateMessage(pMsg);
}
void CMyCourseTeacher::OnOK()
{
}
void CMyCourseTeacher::OnCancel()
{
}
BOOL CMyCourseTeacher::OnEraseBkgnd(CDC* pDC)
{
CBrush brush(RGB(250,220,250));
CBrush* pOldBrush=pDC->SelectObject(&brush);
CRect rcClip;
pDC->GetClipBox(&rcClip);
pDC->PatBlt(rcClip.left,rcClip.top,rcClip.Width(),rcClip.Height(),PATCOPY);
pDC->SelectObject(pOldBrush);
return TRUE;
}
HBRUSH CMyCourseTeacher::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
if(nCtlColor!=CTLCOLOR_EDIT)
{
pDC->SetTextColor(RGB(40,20,255));
pDC->SetBkMode(TRANSPARENT);
HBRUSH B = CreateSolidBrush(RGB(250,220,250));
return (HBRUSH) B;
}
else
return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -