📄 indexset.cpp
字号:
// IndexSet.cpp : 实现文件
//
#include "stdafx.h"
#include "StudentRecords.h"
#include "IndexSet.h"
// CIndexSet 对话框
IMPLEMENT_DYNAMIC(CIndexSet, CDialog)
CIndexSet::CIndexSet(CWnd* pParent /*=NULL*/)
: CDialog(CIndexSet::IDD, pParent)
{
}
CIndexSet::~CIndexSet()
{
}
void CIndexSet::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LIST1, m_list1);
DDX_Control(pDX, IDC_GRADE, m_grade);
DDX_Control(pDX, IDC_CLASS, m_class);
}
BEGIN_MESSAGE_MAP(CIndexSet, CDialog)
ON_EN_CHANGE(IDC_EDIT2, &CIndexSet::OnEnChangeEdit2)
ON_EN_CHANGE(IDC_EDIT3, &CIndexSet::OnEnChangeEdit3)
ON_BN_CLICKED(IDC_SAVE, &CIndexSet::OnBnClickedSave)
ON_BN_CLICKED(IDC_DEL, &CIndexSet::OnBnClickedDel)
ON_BN_CLICKED(IDC_SAVETOFILE, &CIndexSet::OnBnClickedSavetofile)
ON_WM_MOUSEWHEEL()
ON_WM_SHOWWINDOW()
ON_BN_CLICKED(IDC_NEW, &CIndexSet::OnBnClickedNew)
END_MESSAGE_MAP()
// CIndexSet 消息处理程序
BOOL CIndexSet::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN)
{
OnBnClickedSave();
return true;
}
if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_ESCAPE)
return true;
return CDialog::PreTranslateMessage(pMsg);
}
BOOL CIndexSet::OnInitDialog()
{
CDialog::OnInitDialog();
UpdateFlexGrid(2,8,1,1);
FromIniFile();
return TRUE;
}
void CIndexSet::UpdateFlexGrid(int m,int n,int fm,int fn)
{
m_list1.Clear();
m_list1.SetRows(m);
m_list1.SetCols(n);
m_list1.SetFixedRows(fm);
m_list1.SetFixedCols(fn);
m_list1.SetRowHeight(0,440);
m_list1.SetRowHeightMin(360);
int i,j;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
m_list1.SetRow(long(i));
m_list1.SetCol(long(j));
m_list1.SetCellAlignment(4);
}
}
CString str;
str="序号";
m_list1.SetTextMatrix(0,0,str);
m_list1.SetColWidth(0,480);
str="学 校";
m_list1.SetTextMatrix(0,1,str);
m_list1.SetColWidth(1,2200);
str="年 级";
m_list1.SetTextMatrix(0,2,str);
m_list1.SetColWidth(2,1200);
str="系 别";
m_list1.SetTextMatrix(0,3,str);
m_list1.SetColWidth(3,1600);
str="班";
m_list1.SetTextMatrix(0,4,str);
m_list1.SetColWidth(4,720);
str="学 科";
m_list1.SetTextMatrix(0,5,str);
m_list1.SetColWidth(5,2820);
str="学籍号前缀";
m_list1.SetTextMatrix(0,6,str);
m_list1.SetColWidth(6,1000);
str="学籍号域";
m_list1.SetTextMatrix(0,7,str);
m_list1.SetColWidth(7,1480);
}
void CIndexSet::OnEnChangeEdit2()
{
int gradenumber=GetDlgItemInt(IDC_EDIT2,0,1);
m_grade.ResetContent();
for(int n=1;n<=gradenumber;n++)
{
CString str;
str.Format("%d年级",n);
m_grade.AddString(str);
}
}
void CIndexSet::OnEnChangeEdit3()
{
int classnumber=GetDlgItemInt(IDC_EDIT3,0,1);
m_class.ResetContent();
for(int n=1;n<=classnumber;n++)
{
CString str;
str.Format("%d班",n);
m_class.AddString(str);
}
}
void CIndexSet::OnBnClickedSave()
{
CString temp;
CStringArray itemstr;
GetDlgItemText(IDC_EDIT1,temp);
if(temp.IsEmpty() || temp.Find(" ",0)>=0 || temp.Find("~",0)>=0)
{
GotoDlgCtrl(GetDlgItem(IDC_EDIT1));
MessageBox("<学校>信息不完整!","错误",MB_OK|MB_ICONERROR);
itemstr.RemoveAll();
return;
}
//进行学校名称校对,如有异则进行询问,再进行相应处理
for(int r=1;r<m_list1.GetRows();r++)
{
if(temp!=m_list1.GetTextMatrix(r,1))
{
if(MessageBox("学校名称与已有学校名称不符,是否采用新设的学校名称?","警告",MB_YESNO|MB_ICONASTERISK|MB_DEFBUTTON2)==IDNO)
{
GotoDlgCtrl(GetDlgItem(IDC_EDIT1));
itemstr.RemoveAll();
return;
}
else
for(int r=1;r<m_list1.GetRows();r++)
if(temp!=m_list1.GetTextMatrix(r,1))
m_list1.SetTextMatrix(r,1,temp);
}
}
//校对完毕
itemstr.Add(temp);
if(m_grade.GetCurSel()>=0)
m_grade.GetLBText(m_grade.GetCurSel(),temp);
else
{
GotoDlgCtrl(GetDlgItem(IDC_GRADE));
MessageBox("<年级>信息不完整!","错误",MB_OK|MB_ICONERROR);
itemstr.RemoveAll();
return;
}
itemstr.Add(temp);
GetDlgItemText(IDC_EDIT6,temp);
if(temp.IsEmpty())
{
CString message(_T(""));
message+=itemstr[0];
message+=" ";
message+="不分系别,是否继续!";
if(MessageBox(message,"提示",MB_YESNO|MB_ICONASTERISK|MB_DEFBUTTON2)==IDNO)
{
GotoDlgCtrl(GetDlgItem(IDC_EDIT6));
itemstr.RemoveAll();
return;
}
}
if(temp.Find(" ",0)>=0 || temp.Find("~",0)>=0)
{
GotoDlgCtrl(GetDlgItem(IDC_EDIT6));
MessageBox("<系别>信息不完整!","错误",MB_OK|MB_ICONERROR);
itemstr.RemoveAll();
return;
}
itemstr.Add(temp);
if(m_class.GetCurSel()>=0)
m_class.GetLBText(m_class.GetCurSel(),temp);
else
{
GotoDlgCtrl(GetDlgItem(IDC_CLASS));
MessageBox("<班级>信息不完整!","错误",MB_OK|MB_ICONERROR);
itemstr.RemoveAll();
return;
}
itemstr.Add(temp);
GetDlgItemText(IDC_EDIT7,temp);
if(temp.IsEmpty() || temp.Find(" ",0)>=0 || temp.Find(",",0)>=0 || temp.Find("~",0)>=0)
{
GotoDlgCtrl(GetDlgItem(IDC_EDIT7));
MessageBox("<学科>信息不规范!","错误",MB_OK|MB_ICONERROR);
itemstr.RemoveAll();
return;
}
if(temp.Find(",")==-1)
{
CString message(_T(""));
message+=itemstr[1];
message+=" ";
message+=itemstr[3];
message+=" ";
message+="只开设一门学科,是否继续!";
if(MessageBox(message,"警告",MB_YESNO|MB_ICONASTERISK|MB_DEFBUTTON2)==IDNO)
{
GotoDlgCtrl(GetDlgItem(IDC_EDIT7));
itemstr.RemoveAll();
return;
}
}
itemstr.Add(temp);
GetDlgItemText(IDC_EDIT8,temp);
if(temp.IsEmpty())
{
CString message(_T(""));
message+=itemstr[1];
message+=" ";
message+=itemstr[3];
message+=" ";
message+="没有学籍号前缀,是否继续!";
if(MessageBox(message,"提示",MB_YESNO|MB_ICONASTERISK|MB_DEFBUTTON2)==IDNO)
{
GotoDlgCtrl(GetDlgItem(IDC_EDIT8));
itemstr.RemoveAll();
return;
}
}
if(temp.Find(" ")!=-1 || temp.Find("~",0)>=0)
{
GotoDlgCtrl(GetDlgItem(IDC_EDIT8));
MessageBox("<学籍号前缀>信息不完整!","错误",MB_OK|MB_ICONERROR);
itemstr.RemoveAll();
return;
}
itemstr.Add(temp);
GetDlgItemText(IDC_EDIT4,temp);
if(temp.IsEmpty() || temp.Find(" ",0)>=0 || temp.Find("~",0)>=0)
{
GotoDlgCtrl(GetDlgItem(IDC_EDIT4));
MessageBox("<学籍号>信息不完整!","错误",MB_OK|MB_ICONERROR);
itemstr.RemoveAll();
return;
}
itemstr.Add(temp);
GetDlgItemText(IDC_EDIT5,temp);
if(temp.IsEmpty() || temp.Find(" ",0)>=0 || temp.Find("~",0)>=0)
{
GotoDlgCtrl(GetDlgItem(IDC_EDIT5));
MessageBox("<学籍号>信息不完整!","错误",MB_OK|MB_ICONERROR);
itemstr.RemoveAll();
return;
}
itemstr.Add(temp);
if(atoi(itemstr[(int)itemstr.GetCount()-2])==0 || atoi(itemstr[(int)itemstr.GetCount()-1])==0 || atoi(itemstr[(int)itemstr.GetCount()-2])>=atoi(itemstr[(int)itemstr.GetCount()-1]) || itemstr[(int)itemstr.GetCount()-1].GetLength()<itemstr[(int)itemstr.GetCount()-2].GetLength())//学籍号域验证
{
GotoDlgCtrl(GetDlgItem(IDC_EDIT4));
MessageBox("错误的<学籍号>信息!","错误",MB_OK|MB_ICONERROR);
itemstr.RemoveAll();
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -