mfc学生信息管理系统设计报告Word下载.docx
- 文档编号:22939684
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:24
- 大小:164.24KB
mfc学生信息管理系统设计报告Word下载.docx
《mfc学生信息管理系统设计报告Word下载.docx》由会员分享,可在线阅读,更多相关《mfc学生信息管理系统设计报告Word下载.docx(24页珍藏版)》请在冰豆网上搜索。
BOOLCMainFrame:
:
OnCreateClient(LPCREATESTRUCTlpcs,CCreateContext*pContext)
{
CRectrc;
GetClientRect(rc);
m_wndSplitter1.CreateStatic(this,1,2);
CSizepaneSize(rc.Width()/2-16,rc.Height()/2-16);
m_wndSplitter2.CreateStatic(&
m_wndSplitter1,2,1);
m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CStudentTreeview),CSize(300,180),pContext);
m_wndSplitter2.CreateView(1,0,RUNTIME_CLASS(CCtrlDlgView),CSize(300,0),pContext);
m_wndSplitter1.CreateView(0,1,RUNTIME_CLASS(CEx_StudentView),CSize(0,0),pContext);
m_wndSplitter1.SetColumnInfo(0,rc.Width()/4,100);
m_wndSplitter1.SetActivePane(0,1);
returnTRUE;
}
//添加学生信息对话框
//确定
voidCStuInfoDlg:
OnOk()
UpdateData(TRUE);
GetDlgItemText(GetCheckedRadioButton(IDC_RADIO1_BOY,IDC_RADIO2_GIRL),strsex);
m_strno.TrimLeft();
m_strname.TrimLeft();
m_strcourse.TrimLeft();
m_coursename.TrimLeft();
m_coursescore.TrimLeft();
m_score.TrimLeft();
m_stryuanxi.TrimLeft();
m_strzhuanye.TrimLeft();
if(m_strno.IsEmpty())
MessageBox("
必须要有学号!
"
);
elseif(m_strname.IsEmpty())
必须要有姓名!
elseif(m_strcourse.IsEmpty())
必须要有课程号!
elseif(m_coursename.IsEmpty())
必须要有课程名!
elseif(m_coursescore.IsEmpty())
必须要有学分!
elseif(m_score.IsEmpty())
必须要有成绩!
elseif(m_stryuanxi.IsEmpty())
必须要有电话!
elseif(m_strzhuanye.IsEmpty())
必须要有QQ!
else
{
CDialog:
OnOK();
}
//表单视图
//列表视图主要函数
voidCEx_StudentView:
OnUpdate(CView*pSender,LPARAMlHint,CObject*pHint)
CListCtrl&
m_ListCtrl=GetListCtrl();
//当选择左边树视图相关节点时
if(lHint==1)
CStringstrHint;
strHint=*((CString*)pHint);
delete(CString*)pHint;
OnAddlist(strHint);
//添加信息
elseif(lHint==2)
CStuInfoDlgdlg;
if(IDOK==dlg.DoModal())
{
LVFINDINFOfo;
fo.flags=LVFI_STRING;
fo.psz=dlg.m_strno;
if(m_ListCtrl.FindItem((&
fo),-1)!
=-1)
{
MessageBox("
已有该学号,不能添加"
return;
}
else
m_ListCtrl.InsertItem(0,dlg.m_strno);
m_ListCtrl.SetItemText(0,1,dlg.m_strname);
m_ListCtrl.SetItemText(0,2,dlg.strsex);
m_ListCtrl.SetItemText(0,3,dlg.m_strcourse);
m_ListCtrl.SetItemText(0,4,dlg.m_coursename);
m_ListCtrl.SetItemText(0,5,dlg.m_coursescore);
m_ListCtrl.SetItemText(0,6,dlg.m_score);
m_ListCtrl.SetItemText(0,7,dlg.m_stryuanxi);
m_ListCtrl.SetItemText(0,8,dlg.m_strzhuanye);
}
//保存信息
elseif(lHint==3)
CStringstr,strHint;
fstreamoutfile(strHint,ios:
out);
intCount=m_ListCtrl.GetItemCount();
for(inti=Count-1;
i>
=0;
i--)
for(intj=0;
j<
9;
j++)
str=m_ListCtrl.GetItemText(i,j);
str+="
"
;
outfile<
<
str;
outfile<
endl;
outfile.close();
保存完毕!
//删除信息
elseif(lHint==4)
if(!
m_ListCtrl.GetItemCount())
MessageBox("
您没有可删除的记录!
return;
intindex=m_ListCtrl.GetNextItem(0,LVNI_SELECTED);
if(index==-1)
if(IDOK==MessageBox("
确定删除?
"
提醒"
MB_OKCANCEL))
m_ListCtrl.DeleteItem(0);
else
m_ListCtrl.DeleteItem(index);
//修改信息
elseif(lHint==5)
您没有可修改的记录!
dlg.m_strno=m_ListCtrl.GetItemText(0,0);
dlg.m_strname=m_ListCtrl.GetItemText(0,1);
dlg.strsex=m_ListCtrl.GetItemText(0,2);
dlg.m_strcourse=m_ListCtrl.GetItemText(0,3);
dlg.m_coursename=m_ListCtrl.GetItemText(0,4);
dlg.m_coursescore=m_ListCtrl.GetItemText(0,5);
dlg.m_score=m_ListCtrl.GetItemText(0,6);
dlg.m_stryuanxi=m_ListCtrl.GetItemText(0,7);
dlg.m_strzhuanye=m_ListCtrl.GetItemText(0,8);
if(dlg.DoModal())
m_ListCtrl.SetItemText(0,0,dlg.m_strno);
m_ListCtrl.SetItemText(0,1,dlg.m_strname);
m_ListCtrl.SetItemText(0,2,dlg.strsex);
m_ListCtrl.SetItemText(0,3,dlg.m_strcourse);
m_ListCtrl.SetItemText(0,4,dlg.m_coursename);
m_ListCtrl.SetItemText(0,5,dlg.m_coursescore);
m_ListCtrl.SetItemText(0,6,dlg.m_score);
m_ListCtrl.SetItemText(0,7,dlg.m_stryuanxi);
m_ListCtrl.SetItemText(0,8,dlg.m_strzhuanye);
dlg.m_strno=m_ListCtrl.GetItemText(index,0);
dlg.m_strname=m_ListCtrl.GetItemText(index,1);
dlg.strsex=m_ListCtrl.GetItemText(index,2);
dlg.m_strcourse=m_ListCtrl.GetItemText(index,3);
dlg.m_coursename=m_ListCtrl.GetItemText(index,4);
dlg.m_coursescore=m_ListCtrl.GetItemText(index,5);
dlg.m_score=m_ListCtrl.GetItemText(index,6);
dlg.m_stryuanxi=m_ListCtrl.GetItemText(index,7);
dlg.m_strzhuanye=m_ListCtrl.GetItemText(index,8);
m_ListCtrl.SetItemText(index,0,dlg.m_strno);
m_ListCtrl.SetItemText(index,1,dlg.m_strname);
m_ListCtrl.SetItemText(index,2,dlg.strsex);
m_ListCtrl.SetItemText(index,3,dlg.m_strcourse);
m_ListCtrl.SetItemText(index,4,dlg.m_coursename);
m_ListCtrl.SetItemText(index,5,dlg.m_coursescore);
m_ListCtrl.SetItemText(index,6,dlg.m_score);
m_ListCtrl.SetItemText(index,7,dlg.m_stryuanxi);
m_ListCtrl.SetItemText(index,8,dlg.m_strzhuanye);
//查询信息
elseif(lHint==14)
CCtrlDlgdlg1;
if(IDOK!
=dlg1.DoModal())return;
CStringstr0;
for(intk=0;
k<
m_ListCtrl.GetItemCount();
k++)
for(intn=0;
n<
2;
n++)
str0=m_ListCtrl.GetItemText(k,n);
if(str0==dlg1.m_xinxi)
{
CStringstrtext1,strtext2="
for(inti=0;
i<
i++)
{
CStringstrHeader[]={"
学号:
姓名:
性别:
课程号:
课程名称:
学分:
成绩:
电话:
QQ:
};
strtext1=m_ListCtrl.GetItemText(k,i);
strtext2+=strHeader[i]+strtext1+"
\n"
}
MessageBox(strtext2);
}
//自定义显示信息时调用的函数
OnAddlist(CStringstradd)
m_ListCtrl.DeleteAllItems();
CStdioFilefile;
if(!
file.Open(stradd,CFile:
modeReadWrite|CFile:
typeText))
{return;
}
CStringstrEnter,substr;
inti,k=0;
while(file.ReadString(strEnter))
m_ListCtrl.InsertItem(m_ListCtrl.GetItemCount(),NULL,NULL);
for(i=0;
AfxExtractSubString(substr,strEnter,i,_T('
'
));
m_ListCtrl.SetItemText(k,i,substr);
k++;
file.Close();
//初始化
OnInitialUpdate()
CListView:
OnInitialUpdate();
CStringstrHeader[]={"
学号"
姓名"
性别"
课程号"
课程名称"
学分"
成绩"
电话"
QQ"
intnLong[]={80,60,40,80,80,40,40,80,80};
for(intnCol=0;
nCol<
sizeof(strHeader)/sizeof(CString);
nCol++)
m_ListCtrl.InsertColumn(nCol,strHeader[nCol],LVCFMT_LEFT,nLong[nCol]);
m_ListCtrl.SetBkColor(RGB(128,250,0));
//树视图主要函数
voidCStudentTreeview:
OnLButtonDown(UINTnFlags,CPointpoint)
UINTuFlags;
CTreeCtrl&
m_TreeCtrl=GetTreeCtrl();
HTREEITEMhSel=m_TreeCtrl.HitTest(point,&
uFlags);
if((hSel!
=NULL)&
&
(TVHT_ONITEM&
uFlags))
m_TreeCtrl.SelectItem(hSel);
CTreeView:
OnLButtonDown(nFlags,point);
return;
if(m_TreeCtrl.GetChildItem(hSel)==NULL)
CStringstrSelItem,strstuview;
strSelItem=m_TreeCtrl.GetItemText(hSel);
strstuview=strSelItem+"
.txt"
GetDocument()->
UpdateAllViews(NULL,1,(CObject*)newCString(strstuview));
//传递信息给列表视图,显示相关专业学生信息
//保存鼠标点击专业学生信息
if(lHint==33)
CTreeCtrl&
HTREEITEMhSel;
hSel=m_TreeCtrl.GetSelectedItem();
UpdateAllViews(NULL,3,(CObject*)newCString(strstuview));
//传递信息给列表视图,保存相关专业学生信息
//插入节点
if(lHint==16)
HTREEITEMhItemParent=m_TreeCtrl.GetSelectedItem();
CTreeInfodlg;
if(IDOK==dlg.DoModal())
HTREEITEMhItem=m_TreeCtrl.InsertItem(dlg.m_zhuanyeinfo,hItemParent);
OnJiedianxinxi();
//删除节点
if(lHint==17)
strSelItem=m_TreeCtrl.GetItemText(hItemParent);
DeleteFile(strstuview);
m_TreeCtrl.DeleteItem(hItemParent);
//自定义更新节“点信息.txt”文件内容函数
OnJiedianxinxi()
HTREEITEMitem=m_TreeCtrl.GetRootItem();
HTREEITEMstritem1=m_TreeCtrl.GetChildItem(item);
DeleteFile("
节点信息.txt"
while(stritem1!
=NULL)
CStringstrtxt1,strtxt2;
strtxt1=m_TreeCtrl.GetItemText(stritem1);
CStdioFilemFile(_T("
),CFile:
modeWrite|CFile:
modeCreate|CFile:
modeNoTruncate);
mFile.SeekToEnd();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- mfc 学生 信息管理 系统 设计 报告