📄 fileexamdlg.cpp
字号:
}*/
/*
void CFileExamDlg::OnBtnedit()
{
// TODO: Add your control notification handler code here
if(m_lststudent.IsEmpty())
{
AfxMessageBox(L"没有可编辑的记录!");
return;
}
m_operID=1;//表示编辑操作
SetControlEnable(true);
}
*/
/*
void CFileExamDlg::OnBtnsave()
{
// TODO: Add your control notification handler code here
CStudentData studentdata;
CFile stufile;
UpdateData(true);
switch(m_operID)
{
case 0://表示添加操作
ZeroMemory(&studentdata,sizeof(studentdata));
wcscpy(studentdata.xsbh,m_xsbh);
wcscpy(studentdata.xsxm,m_xsxm);
wcscpy(studentdata.xb,m_xsxb);
wcscpy(studentdata.csrq,m_csrq);
wcscpy(studentdata.bjmc,m_bjmc);
stufile.Open(studentfilepath,CFile::modeRead|CFile::modeWrite);
stufile.SeekToEnd();
stufile.Write(&studentdata,sizeof(studentdata));
stufile.Close();
//更新内存队列
m_lststudent.AddTail(studentdata);
SetControlEnable(false);
//设置指针移动按钮的有效性
m_iCurPos=m_lststudent.GetCount()-1;
SetNavigatorButton(m_iCurPos);
break;
case 1://编辑操作
//把添加的东西写入文件
ZeroMemory(&studentdata,sizeof(studentdata));
wcscpy(studentdata.xsbh,m_xsbh);
wcscpy(studentdata.xsxm,m_xsxm);
wcscpy(studentdata.xb,m_xsxb);
wcscpy(studentdata.csrq,m_csrq);
wcscpy(studentdata.bjmc,m_bjmc);
stufile.Open(studentfilepath,CFile::modeRead|CFile::modeWrite);
stufile.Seek(sizeof(studentdata)*(m_iCurPos),CFile::begin);
stufile.Write(&studentdata,sizeof(studentdata));
stufile.Close();
//更新内存队列
m_lststudent.SetAt(m_lststudent.FindIndex(m_iCurPos),studentdata);
SetControlEnable(false);
SetNavigatorButton(m_iCurPos);
break;
}
}*/
/*
void CFileExamDlg::OnBtncancel()
{
// TODO: Add your control notification handler code here
POSITION pos=m_lststudent.FindIndex(m_iCurPos);
CStudentData studentdata=m_lststudent.GetAt(pos);
//更新显示
m_xsbh=studentdata.xsbh;
m_xsxm=studentdata.xsxm;
m_xsxb=studentdata.xb;
m_csrq=studentdata.csrq;
m_bjmc=studentdata.bjmc;
UpdateData(false);
SetControlEnable(false);
SetNavigatorButton(m_iCurPos);
}*/
/*
void CFileExamDlg::OnDelete()
{
// TODO: Add your control notification handler code here
if(m_lststudent.IsEmpty())
{
AfxMessageBox(L"没有可删除的记录!");
return;
}
//先从队列中删除
POSITION pos=m_lststudent.FindIndex(m_iCurPos);
m_lststudent.RemoveAt(pos);
if(m_iCurPos!=0)
{
m_iCurPos--;
}
//更新界面显示
if(!m_lststudent.IsEmpty())
{
pos=m_lststudent.FindIndex(m_iCurPos);
CStudentData studentdata=m_lststudent.GetAt(pos);
//更新显示
m_xsbh=studentdata.xsbh;
m_xsxm=studentdata.xsxm;
m_xsxb=studentdata.xb;
m_csrq=studentdata.csrq;
m_bjmc=studentdata.bjmc;
UpdateData(false);
}
else
{
//更新显示
m_xsbh=L"";
m_xsxm=L"";
m_xsxb=L"";
m_csrq=L"";
m_bjmc=L"";
UpdateData(false);
}
SetControlEnable(false);
SetNavigatorButton(m_iCurPos);
//将文件重写
CStudentData studentdata;
CFile stufile;
stufile.Open(studentfilepath,CFile::modeCreate|CFile::modeWrite);
pos=m_lststudent.GetHeadPosition();
for(int i=0;i<m_lststudent.GetCount();i++)
{
ZeroMemory(&studentdata,sizeof(studentdata));
studentdata=m_lststudent.GetNext(pos);
stufile.Write(&studentdata,sizeof(studentdata));
}
stufile.Close();
}*/
//控制窗体和控件大小
void CFileExamDlg::controlDlg()
{
ShowWindow(SW_SHOWMAXIMIZED);//最大化
CRect rect;
GetClientRect(&rect);
int h;
h=rect.bottom;
s_xsbh.MoveWindow(1,4,67,20);
xsbh.MoveWindow(70,2,rect.right-71,20);
s_xsxm.MoveWindow(1,26,67,20);
xsxm.MoveWindow(70,24,rect.right-71,20);
s_xsxb.MoveWindow(1,48,67,20);
xsxb.MoveWindow(70,46,rect.right-71,20);
s_csrq.MoveWindow(1,72,67,20);
csrq.MoveWindow(70,70,rect.right-71,20);
s_bjmc.MoveWindow(1,94,67,20);
bjmc.MoveWindow(70,92,rect.right-71,20);
// m_btnfirst.MoveWindow(2,h-75,rect.right/4,25);
// m_btnprior.MoveWindow(rect.right/4,h-75,rect.right/4,25);
// m_btnnext.MoveWindow(2*(rect.right/4),h-75,rect.right/4,25);
// m_btnlast.MoveWindow(3*(rect.right/4),h-75,rect.right/4,25);
// m_btnadd.MoveWindow(2,h-50,rect.right/4,25);
// m_btnedit.MoveWindow(rect.right/4,h-50,rect.right/4,25);
// m_btncancel.MoveWindow(2*(rect.right/4),h-50,rect.right/4,25);
// m_btnsave.MoveWindow(3*(rect.right/4),h-50,rect.right/4,25);
// m_delete.MoveWindow(2,h-25,rect.right/4,25);
m_btncancel.MoveWindow(rect.right/2,h-27,rect.right/4,25);
m_btnsave.MoveWindow(3*rect.right/4,h-27,rect.right/4,25);
}
void CFileExamDlg::OnSetfocusEdtxsbh()
{
// TODO: Add your control notification handler code here
SipShowIM(SIPF_ON);
}
void CFileExamDlg::OnKillfocusEdtxsbh()
{
// TODO: Add your control notification handler code here
if(!(m_operID==1||m_operID==2))
{
UpdateData(TRUE);
NO=m_xsbh;
Chint hint;
if(NO!=L"")
{
POSITION pos;
hinttext=2;
for(int i=0;i<m_lststudent.GetCount();i++)
{
pos=m_lststudent.FindIndex(i);
ZeroMemory(&studentdata,sizeof(studentdata));
studentdata=m_lststudent.GetAt(pos);
if(studentdata.xsbh==NO)
{
hint.DoModal();
break;
}
}
}
/*
else
hinttext=3;
if(hint.DoModal()==IDOK||hint.DoModal()==IDCANCEL)
xsbh.SetFocus();
return;*/
}
SipShowIM(SIPF_OFF);
}
void CFileExamDlg::OnKillfocusEdtxsxm()
{
// TODO: Add your control notification handler code here
SipShowIM(SIPF_OFF);
}
void CFileExamDlg::OnSetfocusEdtxsxm()
{
// TODO: Add your control notification handler code here
SipShowIM(SIPF_ON);
}
void CFileExamDlg::OnSetfocusEdtcsrq()
{
// TODO: Add your control notification handler code here
SipShowIM(SIPF_ON);
}
void CFileExamDlg::OnKillfocusEdtcsrq()
{
// TODO: Add your control notification handler code here
SipShowIM(SIPF_OFF);
}
void CFileExamDlg::OnSetfocusEdtbjmc()
{
// TODO: Add your control notification handler code here
SipShowIM(SIPF_ON);
}
void CFileExamDlg::OnKillfocusEdtbjmc()
{
// TODO: Add your control notification handler code here
SipShowIM(SIPF_OFF);
}
void CFileExamDlg::OnOK()
{
// TODO: Add extra validation here
// btn1=1;
/*
if(m_xsbh==L"")
AfxMessageBox(L"学号必须输入!");*/
CStudentData studentdata;
CFile stufile;
UpdateData(true);
switch(m_operID)
{
case 0://表示添加操作
ZeroMemory(&studentdata,sizeof(studentdata));
wcscpy(studentdata.xsbh,m_xsbh);
wcscpy(studentdata.xsxm,m_xsxm);
wcscpy(studentdata.xb,m_xsxb);
wcscpy(studentdata.csrq,m_csrq);
wcscpy(studentdata.bjmc,m_bjmc);
stufile.Open(studentfilepath,CFile::modeRead|CFile::modeWrite);
stufile.SeekToEnd();
stufile.Write(&studentdata,sizeof(studentdata));
stufile.Close();
//更新内存队列
m_lststudent.AddTail(studentdata);
break;
case 1://编辑操作
//把添加的东西写入文件
ZeroMemory(&studentdata,sizeof(studentdata));
wcscpy(studentdata.xsbh,m_xsbh);
wcscpy(studentdata.xsxm,m_xsxm);
wcscpy(studentdata.xb,m_xsxb);
wcscpy(studentdata.csrq,m_csrq);
wcscpy(studentdata.bjmc,m_bjmc);
stufile.Open(studentfilepath,CFile::modeRead|CFile::modeWrite);
stufile.Seek(sizeof(studentdata)*(listnum),CFile::begin);
stufile.Write(&studentdata,sizeof(studentdata));
stufile.Close();
//更新内存队列
m_lststudent.SetAt(m_lststudent.FindIndex(listnum),studentdata);
break;
case 2://查找后的编辑
ZeroMemory(&studentdata,sizeof(studentdata));
wcscpy(studentdata.xsbh,m_xsbh);
wcscpy(studentdata.xsxm,m_xsxm);
wcscpy(studentdata.xb,m_xsxb);
wcscpy(studentdata.csrq,m_csrq);
wcscpy(studentdata.bjmc,m_bjmc);
stufile.Open(studentfilepath,CFile::modeRead|CFile::modeWrite);
stufile.Seek(sizeof(studentdata)*(findpos[listnum]),CFile::begin);
stufile.Write(&studentdata,sizeof(studentdata));
stufile.Close();
//更新内存队列
m_lststudent.SetAt(m_lststudent.FindIndex(findpos[listnum]),studentdata);
break;
}
CDialog::OnOK();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -