📄 myschoolclassnumber.cpp
字号:
// MySchoolClassNumber.cpp : 实现文件
//
#include "stdafx.h"
#include "ScoreGather.h"
#include "MySchoolClassNumber.h"
#include ".\myschoolclassnumber.h"
// CMySchoolClassNumber 对话框
IMPLEMENT_DYNAMIC(CMySchoolClassNumber, CDialog)
CMySchoolClassNumber::CMySchoolClassNumber(CWnd* pParent /*=NULL*/)
: CDialog(CMySchoolClassNumber::IDD, pParent)
{
}
CMySchoolClassNumber::~CMySchoolClassNumber()
{
}
void CMySchoolClassNumber::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_GRADELIST, m_gradelist);
DDX_Control(pDX, IDC_CLASSSPIN, m_classspin);
DDX_Control(pDX, IDC_SPIN1, m_spin);
DDX_Control(pDX, IDC_ADD, m_add);
DDX_Control(pDX, IDC_MODIFY, m_modify);
DDX_Control(pDX, IDC_DEL, m_del);
}
BEGIN_MESSAGE_MAP(CMySchoolClassNumber, CDialog)
ON_NOTIFY(NM_CLICK, IDC_LIST1, OnNMClickList1)
ON_EN_SETFOCUS(IDC_CLASSSPIN, OnEnSetfocusClassspin)
ON_WM_VSCROLL()
ON_BN_CLICKED(IDC_ADD, OnBnClickedAdd)
ON_BN_CLICKED(IDC_MODIFY, OnBnClickedModify)
ON_BN_CLICKED(IDC_DEL, OnBnClickedDel)
ON_WM_ERASEBKGND()
ON_WM_CTLCOLOR()
END_MESSAGE_MAP()
// CMySchoolClassNumber 消息处理程序
BOOL CMySchoolClassNumber::OnInitDialog()
{
CDialog::OnInitDialog();
m_tooltip.Create(this,TTS_ALWAYSTIP);
m_tooltip.Activate(TRUE);
m_tooltip.AddTool(GetDlgItem(IDC_YEAR),IDS_YEAR);
m_tooltip.AddTool(GetDlgItem(IDC_PLACENAME),IDS_PLACENAME);
m_tooltip.AddTool(GetDlgItem(IDC_SCHOOLNAME),IDS_SCHOOLNAME);
m_tooltip.AddTool(GetDlgItem(IDC_ADD),IDS_ADD);
m_tooltip.AddTool(GetDlgItem(IDC_MODIFY),IDS_MODIFY);
m_tooltip.AddTool(GetDlgItem(IDC_DEL),IDS_DEL);
m_tooltip.AddTool(GetDlgItem(IDC_LIST1),IDS_SCN_LIST1);
m_tooltip.AddTool(GetDlgItem(IDC_GRADELIST),IDS_GRADELIST);
m_tooltip.AddTool(GetDlgItem(IDC_CLASSSPIN),IDS_CLASSSPIN);
m_tooltip.AddTool(GetDlgItem(IDC_SPIN1),IDS_SPIN1);
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,130);
m_list1.InsertColumn(2,"学 校",LVCFMT_LEFT,114);
m_list1.InsertColumn(3,"班 级",LVCFMT_LEFT,100);
cwnd_year=GetDlgItem(IDC_YEAR);
cwnd_placename=GetDlgItem(IDC_PLACENAME);
cwnd_schoolname=GetDlgItem(IDC_SCHOOLNAME);
cwnd_gradelist=GetDlgItem(IDC_GRADELIST);
cwnd_classspin=GetDlgItem(IDC_LIST1);
m_gradelist.AddString("一年级");
m_gradelist.AddString("二年级");
m_gradelist.AddString("三年级");
m_gradelist.AddString("四年级");
m_gradelist.AddString("五年级");
m_gradelist.AddString("六年级");
m_gradelist.AddString("七年级");
m_gradelist.AddString("八年级");
m_gradelist.AddString("九年级");
m_spin.SetBase(1);
m_spin.SetRange(1,100);
m_spin.SetBuddy(GetDlgItem(IDC_CLASSSPIN));
return TRUE;
}
void CMySchoolClassNumber::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)));
SetDlgItemText(IDC_PLACENAME,m_list1.GetItemText(row,1));
SetDlgItemText(IDC_SCHOOLNAME,m_list1.GetItemText(row,2));
m_gradelist.SetCurSel(m_gradelist.FindString(0,m_list1.GetItemText(row,3).Left(2)+_T("年级")));
int number=0;
int row1=m_list1.GetItemCount();
for(int n=0;n<row1;n++)
{
CString str1,str2,str3,str4;
m_year.GetLBText(m_year.GetCurSel(),str1);
GetDlgItemText(IDC_PLACENAME,str2);
GetDlgItemText(IDC_SCHOOLNAME,str3);
m_gradelist.GetLBText(m_gradelist.GetCurSel(),str4);
if(m_list1.GetItemText(n,0)+m_list1.GetItemText(n,1)+m_list1.GetItemText(n,2)+m_list1.GetItemText(n,3).Left(2)==str1+str2+str3+str4.Left(2))
number++;
}
SetDlgItemInt(IDC_CLASSSPIN,number,1);
}
else
{
m_year.SetCurSel(-1);
SetDlgItemText(IDC_PLACENAME,_T(""));
SetDlgItemText(IDC_SCHOOLNAME,_T(""));
m_gradelist.SetCurSel(-1);
SetDlgItemText(IDC_CLASSSPIN,_T(""));
m_spin.SetPos(1);
}
*pResult = 0;
}
void CMySchoolClassNumber::OnEnSetfocusClassspin()
{
GotoDlgCtrl(cwnd_classspin);
}
void CMySchoolClassNumber::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
if( pScrollBar->GetDlgCtrlID() == IDC_SPIN1 )
{
SetDlgItemInt(IDC_CLASSSPIN,nPos,1);
CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
}
else
CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
}
void CMySchoolClassNumber::OnBnClickedAdd()
{
CString str1,str2,str3,str4,str5,str_class;
int number=1;
if(m_year.GetCurSel()<0)
{
AfxMessageBox("必须选择学年度!");
GotoDlgCtrl(cwnd_year);
return;
}
else
m_year.GetLBText(m_year.GetCurSel(),str1);
GetDlgItemText(IDC_PLACENAME,str2);
if(str2.IsEmpty())
{
AfxMessageBox("必须填写乡镇!");
GotoDlgCtrl(cwnd_placename);
return;
}
GetDlgItemText(IDC_SCHOOLNAME,str3);
if(str3.IsEmpty())
{
AfxMessageBox("必须填写学校!");
GotoDlgCtrl(cwnd_schoolname);
return;
}
if(m_gradelist.GetCurSel()<0)
{
AfxMessageBox("必须选择年级!");
GotoDlgCtrl(cwnd_gradelist);
return;
}
else
m_gradelist.GetLBText(m_gradelist.GetCurSel(),str4);
GetDlgItemText(IDC_CLASSSPIN,str5);
if(atol(str5)>1)
number=atol(str5);
CString strSQL;
strSQL="select * from schoolnumber";
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);
}
for(int n=1;n<=number;n++)
{
int row=m_list1.GetItemCount();
str5.Format("%d",n);
str_class=str4.Left(2)+"("+str5+")班";//构造班级字符串
for(int m=0;m<row;m++)
if(str1+str2+str3+str_class==m_list1.GetItemText(m,0)+m_list1.GetItemText(m,1)+m_list1.GetItemText(m,2)+m_list1.GetItemText(m,3))
{
AfxMessageBox("信息不能重复!");
return;
}
m_list1.InsertItem(row,str1);
m_list1.SetItemText(row,1,str2);
m_list1.SetItemText(row,2,str3);
m_list1.SetItemText(row,3,str_class);
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_gradeclassname",_variant_t(m_list1.GetItemText(row,3)));
m_pRecordset->Update();
}
m_pRecordset->Close();
m_pRecordset=NULL;
GotoDlgCtrl(cwnd_gradelist);
}
void CMySchoolClassNumber::OnBnClickedModify()
{
POSITION pos=m_list1.GetFirstSelectedItemPosition();
int row;
if(pos)
row=m_list1.GetNextSelectedItem(pos);
else
{
AfxMessageBox("请单击要修改的内容!");
return;
}
CString str1,str2,str3,str4,str5,str_class;
int number=1;
if(m_year.GetCurSel()<0)
{
AfxMessageBox("必须选择学年度!");
GotoDlgCtrl(cwnd_year);
return;
}
else
m_year.GetLBText(m_year.GetCurSel(),str1);
if(str1!=m_list1.GetItemText(row,0))
{
AfxMessageBox("[学年度]内容不能修改,如要修改,请在“学年度及学科设置”表中修改!");
GotoDlgCtrl(cwnd_year);
return;
}
GetDlgItemText(IDC_PLACENAME,str2);
if(str2.IsEmpty())
{
AfxMessageBox("必须填写乡镇!");
GotoDlgCtrl(cwnd_placename);
return;
}
GetDlgItemText(IDC_SCHOOLNAME,str3);
if(str3.IsEmpty())
{
AfxMessageBox("必须填写学校!");
GotoDlgCtrl(cwnd_schoolname);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -