基于某MFC地一个简单应用系统地开发示例

上传人:无*** 文档编号:83447250 上传时间:2022-05-01 格式:DOC 页数:33 大小:840KB
返回 下载 相关 举报
基于某MFC地一个简单应用系统地开发示例_第1页
第1页 / 共33页
基于某MFC地一个简单应用系统地开发示例_第2页
第2页 / 共33页
基于某MFC地一个简单应用系统地开发示例_第3页
第3页 / 共33页
点击查看更多>>
资源描述
word一、实验名称:实验:基于MFC的一个简单应用系统的开发示例二、实验目的:1、了解MFC软件开发的根本知识2、掌握MFC中根本控件的使用方法三、实验器材:1、计算机四、实验内容:说明:1此实例适用于有一定C语言根底的对象;2所涉与到的系统分析、功能设置、数据结构、模块划分、算法设计等可参考实验:小系统开发;3建议在开发过程中打开百度,不懂的知识点可随手查看。开发一个基于对话框的“班级根本信息管理系统,如下:1. 新建一项目文件,设置如如下图:2. 单击“OK,进入下一步:选中“Dialog based,然后按向导往下做,所有设置取默认值,直到完成为止。完成后的界面如下:3. 右击对话框空白处,在菜单中选“Properties,弹出如下界面:设置其中的Caption为“班级根本信息管理。4. 将对话框上原有的一个标签静态文本框和两个按钮都删除,使之为空白,以备我们全部自行设置内容。5. 给此对话框添加四个标签静态文本框,逐个右击,在菜单中选“Properties,在出现的对话框中修改其属性如下表:序号属性内容备注1IDCaptionIDC_STATIC_XH学号2IDCaptionIDC_STATIC_XM某某3IDCaptionIDC_STATIC_XB性别4IDCaptionIDC_STATIC_NL年龄6. 给此对话框添加四个编辑框,逐个右击,在菜单中选“Properties,在出现的对话框中修改其属性如下表:序号属性内容备注1IDIDC_EDIT_XH2IDIDC_EDIT_XM3IDIDC_EDIT_XB4IDIDC_EDIT_NL7. 给此对话框添加十一个命令按钮,逐个右击,在菜单中选“Properties,在出现的对话框中修改其属性如下表:序号属性内容备注1IDCaptionIDC_BUTTON_SYG上一个&12IDCaptionIDC_BUTTON_XYG下一个&23IDCaptionIDC_BUTTON_DYG第一个&34IDCaptionIDC_BUTTON_MYG末一个&45IDCaptionIDC_BUTTON_TJ添加&56IDCaptionIDC_BUTTON_XG修改&67IDCaptionIDC_BUTTON_QD确定&78IDCaptionIDC_BUTTON_QX取消&89IDCaptionIDC_BUTTON_SC删除&910IDCaptionIDC_BUTTON_CX查询&Q11IDCaptionIDC_BUTTON_TC退出&0整个完成后的运行效果如如下图:8. 选中其中的“学号、某某、性别、年龄四个编辑框,右击,将其“Disabled属性选中,如下所示:9. 同样,将“确定和“取消两按钮的Disabled属性也选中。10. 编译连接运行,效果如下:11. 运行可知,目前只是界面有了,但功能都没有实现,接下来完善功能。12. 双击“退出按钮,如如下图:13. 单击OK,进入代码编辑窗口后键入如下代码加粗局部为用户键入内容,下同:void CClassManageDlg:OnButtonTc() / TODO: Add your control notification handler code hereEndDialog(NULL);14. 在代码编辑窗口的前面添加如下代码在前面找个适当位置添加即可,注意,不要放在函数内部:#define N 100 /最大人数struct stu_infochar xh15; /学号char xm7; /某某char xb3; /性别int nl; /年龄;struct stu_info stuN+1;/用于存放所有人相关信息,0号元素备用int CurrentCount=0; /当前实际人数int intWz=0; /用于指示当前位置元素编号bool boolXgOrTj; /标记是修改还是添加,TRUE:修改 FALSE:添加15. 双击“添加,进入代码编辑窗口后在相应位置添加如下代码以对“添加按钮进展响应:void CClassManageDlg:OnButtonTj() / TODO: Add your control notification handler code hereCButton * cBtnSyg=(CButton *)GetDlgItem(IDC_BUTTON_SYG); /上一个按钮CButton * cBtnXyg=(CButton *)GetDlgItem(IDC_BUTTON_XYG); /下一个按钮CButton * cBtnDyg=(CButton *)GetDlgItem(IDC_BUTTON_DYG); /第一个按钮CButton * cBtnMyg=(CButton *)GetDlgItem(IDC_BUTTON_MYG); /末一个按钮CButton * cBtnTj=(CButton *)GetDlgItem(IDC_BUTTON_TJ); /添加按钮CButton * cBtnXg=(CButton *)GetDlgItem(IDC_BUTTON_XG); /修改按钮CButton * cBtnQd=(CButton *)GetDlgItem(IDC_BUTTON_QD); /确定按钮CButton * cBtnQx=(CButton *)GetDlgItem(IDC_BUTTON_QX); /取消按钮CButton * cBtnSc=(CButton *)GetDlgItem(IDC_BUTTON_SC); /删除按钮CButton * cBtnCx=(CButton *)GetDlgItem(IDC_BUTTON_CX); /查询按钮CButton * cBtnTc=(CButton *)GetDlgItem(IDC_BUTTON_TC); /退出按钮CEdit * cEdtXh=(CEdit *)GetDlgItem(IDC_EDIT_XH);/学号编辑框CEdit * cEdtXm=(CEdit *)GetDlgItem(IDC_EDIT_XM);/某某编辑框CEdit * cEdtXb=(CEdit *)GetDlgItem(IDC_EDIT_XB);/性别编辑框CEdit * cEdtNl=(CEdit *)GetDlgItem(IDC_EDIT_NL);/年龄编辑框cBtnSyg-EnableWindow(FALSE);cBtnXyg-EnableWindow(FALSE);cBtnDyg-EnableWindow(FALSE);cBtnMyg-EnableWindow(FALSE);cBtnTj-EnableWindow(FALSE);cBtnXg-EnableWindow(FALSE);cBtnQd-EnableWindow(TRUE);cBtnQx-EnableWindow(TRUE);cBtnSc-EnableWindow(FALSE);cBtnCx-EnableWindow(FALSE);cBtnTc-EnableWindow(FALSE);cEdtXh-EnableWindow(TRUE);cEdtXm-EnableWindow(TRUE);cEdtXb-EnableWindow(TRUE);cEdtNl-EnableWindow(TRUE);cEdtXh-SetFocus();boolXgOrTj=FALSE;16. 双击“修改,进入代码编辑窗口后在相应位置添加如下代码以对“修改按钮进展响应:void CClassManageDlg:OnButtonXg() / TODO: Add your control notification handler code hereif(intWzCurrentCount)MessageBox(当前不是有效数据,不能修改!,修改信息);elseCButton * cBtnSyg=(CButton *)GetDlgItem(IDC_BUTTON_SYG); /上一个按钮CButton * cBtnXyg=(CButton *)GetDlgItem(IDC_BUTTON_XYG); /下一个按钮CButton * cBtnDyg=(CButton *)GetDlgItem(IDC_BUTTON_DYG); /第一个按钮CButton * cBtnMyg=(CButton *)GetDlgItem(IDC_BUTTON_MYG); /末一个按钮CButton * cBtnTj=(CButton *)GetDlgItem(IDC_BUTTON_TJ); /添加按钮CButton * cBtnXg=(CButton *)GetDlgItem(IDC_BUTTON_XG); /修改按钮CButton * cBtnQd=(CButton *)GetDlgItem(IDC_BUTTON_QD); /确定按钮CButton * cBtnQx=(CButton *)GetDlgItem(IDC_BUTTON_QX); /取消按钮CButton * cBtnSc=(CButton *)GetDlgItem(IDC_BUTTON_SC); /删除按钮CButton * cBtnCx=(CButton *)GetDlgItem(IDC_BUTTON_CX); /查询按钮CButton * cBtnTc=(CButton *)GetDlgItem(IDC_BUTTON_TC); /退出按钮CEdit * cEdtXh=(CEdit *)GetDlgItem(IDC_EDIT_XH);/学号编辑框CEdit * cEdtXm=(CEdit *)GetDlgItem(IDC_EDIT_XM);/某某编辑框CEdit * cEdtXb=(CEdit *)GetDlgItem(IDC_EDIT_XB);/性别编辑框CEdit * cEdtNl=(CEdit *)GetDlgItem(IDC_EDIT_NL);/年龄编辑框cBtnSyg-EnableWindow(FALSE);cBtnXyg-EnableWindow(FALSE);cBtnDyg-EnableWindow(FALSE);cBtnMyg-EnableWindow(FALSE);cBtnTj-EnableWindow(FALSE);cBtnXg-EnableWindow(FALSE);cBtnQd-EnableWindow(TRUE);cBtnQx-EnableWindow(TRUE);cBtnSc-EnableWindow(FALSE);cBtnCx-EnableWindow(FALSE);cBtnTc-EnableWindow(FALSE);cEdtXh-EnableWindow(TRUE);cEdtXm-EnableWindow(TRUE);cEdtXb-EnableWindow(TRUE);cEdtNl-EnableWindow(TRUE);cEdtXh-SetFocus();boolXgOrTj=TRUE;17. 双击“确定,进入代码编辑窗口后在相应位置添加如下代码以对“确定按钮进展响应:void CClassManageDlg:OnButtonQd() / TODO: Add your control notification handler code hereCButton * cBtnSyg=(CButton *)GetDlgItem(IDC_BUTTON_SYG); /上一个按钮CButton * cBtnXyg=(CButton *)GetDlgItem(IDC_BUTTON_XYG); /下一个按钮CButton * cBtnDyg=(CButton *)GetDlgItem(IDC_BUTTON_DYG); /第一个按钮CButton * cBtnMyg=(CButton *)GetDlgItem(IDC_BUTTON_MYG); /末一个按钮CButton * cBtnTj=(CButton *)GetDlgItem(IDC_BUTTON_TJ); /添加按钮CButton * cBtnXg=(CButton *)GetDlgItem(IDC_BUTTON_XG); /修改按钮CButton * cBtnQd=(CButton *)GetDlgItem(IDC_BUTTON_QD); /确定按钮CButton * cBtnQx=(CButton *)GetDlgItem(IDC_BUTTON_QX); /取消按钮CButton * cBtnSc=(CButton *)GetDlgItem(IDC_BUTTON_SC); /删除按钮CButton * cBtnCx=(CButton *)GetDlgItem(IDC_BUTTON_CX); /查询按钮CButton * cBtnTc=(CButton *)GetDlgItem(IDC_BUTTON_TC); /退出按钮CEdit * cEdtXh=(CEdit *)GetDlgItem(IDC_EDIT_XH);/学号编辑框CEdit * cEdtXm=(CEdit *)GetDlgItem(IDC_EDIT_XM);/某某编辑框CEdit * cEdtXb=(CEdit *)GetDlgItem(IDC_EDIT_XB);/性别编辑框CEdit * cEdtNl=(CEdit *)GetDlgItem(IDC_EDIT_NL);/年龄编辑框cBtnSyg-EnableWindow(TRUE);cBtnXyg-EnableWindow(TRUE);cBtnDyg-EnableWindow(TRUE);cBtnMyg-EnableWindow(TRUE);cBtnTj-EnableWindow(TRUE);cBtnXg-EnableWindow(TRUE);cBtnQd-EnableWindow(FALSE);cBtnQx-EnableWindow(FALSE);cBtnSc-EnableWindow(TRUE);cBtnCx-EnableWindow(TRUE);cBtnTc-EnableWindow(TRUE);cEdtXh-EnableWindow(FALSE);cEdtXm-EnableWindow(FALSE);cEdtXb-EnableWindow(FALSE);cEdtNl-EnableWindow(FALSE);if(boolXgOrTj=FALSE)/属于添加这种情况if(CurrentCount=N)MessageBox(人数已达上限,不能再添加!,添加信息);elseCString strTemp;CurrentCount+;intWz=CurrentCount;cEdtXh-GetWindowText(stuCurrentCount.xh,14);cEdtXm-GetWindowText(stuCurrentCount.xm,8);cEdtXb-GetWindowText(stuCurrentCount.xb,4);cEdtNl-GetWindowText(strTemp);stuCurrentCount.nl=atoi(strTemp);cBtnTj-SetFocus();else/属于修改这种情况CString strTemp;cEdtXh-GetWindowText(stuintWz.xh,14);cEdtXm-GetWindowText(stuintWz.xm,8);cEdtXb-GetWindowText(stuintWz.xb,4);cEdtNl-GetWindowText(strTemp);stuintWz.nl=atoi(strTemp);cBtnXg-SetFocus();18. 双击“取消,进入代码编辑窗口后在相应位置添加如下代码以对“取消按钮进展响应:void CClassManageDlg:OnButtonQx() / TODO: Add your control notification handler code hereCButton * cBtnSyg=(CButton *)GetDlgItem(IDC_BUTTON_SYG); /上一个按钮CButton * cBtnXyg=(CButton *)GetDlgItem(IDC_BUTTON_XYG); /下一个按钮CButton * cBtnDyg=(CButton *)GetDlgItem(IDC_BUTTON_DYG); /第一个按钮CButton * cBtnMyg=(CButton *)GetDlgItem(IDC_BUTTON_MYG); /末一个按钮CButton * cBtnTj=(CButton *)GetDlgItem(IDC_BUTTON_TJ); /添加按钮CButton * cBtnXg=(CButton *)GetDlgItem(IDC_BUTTON_XG); /修改按钮CButton * cBtnQd=(CButton *)GetDlgItem(IDC_BUTTON_QD); /确定按钮CButton * cBtnQx=(CButton *)GetDlgItem(IDC_BUTTON_QX); /取消按钮CButton * cBtnSc=(CButton *)GetDlgItem(IDC_BUTTON_SC); /删除按钮CButton * cBtnCx=(CButton *)GetDlgItem(IDC_BUTTON_CX); /查询按钮CButton * cBtnTc=(CButton *)GetDlgItem(IDC_BUTTON_TC); /退出按钮CEdit * cEdtXh=(CEdit *)GetDlgItem(IDC_EDIT_XH);/学号编辑框CEdit * cEdtXm=(CEdit *)GetDlgItem(IDC_EDIT_XM);/某某编辑框CEdit * cEdtXb=(CEdit *)GetDlgItem(IDC_EDIT_XB);/性别编辑框CEdit * cEdtNl=(CEdit *)GetDlgItem(IDC_EDIT_NL);/年龄编辑框cBtnSyg-EnableWindow(TRUE);cBtnXyg-EnableWindow(TRUE);cBtnDyg-EnableWindow(TRUE);cBtnMyg-EnableWindow(TRUE);cBtnTj-EnableWindow(TRUE);cBtnXg-EnableWindow(TRUE);cBtnQd-EnableWindow(FALSE);cBtnQx-EnableWindow(FALSE);cBtnSc-EnableWindow(TRUE);cBtnCx-EnableWindow(TRUE);cBtnTc-EnableWindow(TRUE);cEdtXh-EnableWindow(FALSE);cEdtXm-EnableWindow(FALSE);cEdtXb-EnableWindow(FALSE);cEdtNl-EnableWindow(FALSE);if(boolXgOrTj=FALSE)/属于添加这种情况cBtnTj-SetFocus();else/属于修改这种情况cBtnXg-SetFocus();19. 双击“上一个,进入代码编辑窗口后在相应位置添加如下代码以对“上一个按钮进展响应:void CClassManageDlg:OnButtonSyg() / TODO: Add your control notification handler code hereCEdit * cEdtXh=(CEdit *)GetDlgItem(IDC_EDIT_XH);/学号编辑框CEdit * cEdtXm=(CEdit *)GetDlgItem(IDC_EDIT_XM);/某某编辑框CEdit * cEdtXb=(CEdit *)GetDlgItem(IDC_EDIT_XB);/性别编辑框CEdit * cEdtNl=(CEdit *)GetDlgItem(IDC_EDIT_NL);/年龄编辑框if(CurrentCount1)MessageBox(无信息可供查看!,查看信息);elseif(intWzSetWindowText(stuintWz.xh);cEdtXm-SetWindowText(stuintWz.xm);cEdtXb-SetWindowText(stuintWz.xb);CString strTemp;strTemp.Format(%d,stuintWz.nl);cEdtNl-SetWindowText(strTemp);20. 双击“下一个,进入代码编辑窗口后在相应位置添加如下代码以对“下一个按钮进展响应:void CClassManageDlg:OnButtonXyg() / TODO: Add your control notification handler code hereCEdit * cEdtXh=(CEdit *)GetDlgItem(IDC_EDIT_XH);/学号编辑框CEdit * cEdtXm=(CEdit *)GetDlgItem(IDC_EDIT_XM);/某某编辑框CEdit * cEdtXb=(CEdit *)GetDlgItem(IDC_EDIT_XB);/性别编辑框CEdit * cEdtNl=(CEdit *)GetDlgItem(IDC_EDIT_NL);/年龄编辑框if(CurrentCount=CurrentCount)intWz=1;elseintWz+;cEdtXh-SetWindowText(stuintWz.xh);cEdtXm-SetWindowText(stuintWz.xm);cEdtXb-SetWindowText(stuintWz.xb);CString strTemp;strTemp.Format(%d,stuintWz.nl);cEdtNl-SetWindowText(strTemp);21. 双击“第一个,进入代码编辑窗口后在相应位置添加如下代码以对“第一个按钮进展响应:void CClassManageDlg:OnButtonDyg() / TODO: Add your control notification handler code hereCEdit * cEdtXh=(CEdit *)GetDlgItem(IDC_EDIT_XH);/学号编辑框CEdit * cEdtXm=(CEdit *)GetDlgItem(IDC_EDIT_XM);/某某编辑框CEdit * cEdtXb=(CEdit *)GetDlgItem(IDC_EDIT_XB);/性别编辑框CEdit * cEdtNl=(CEdit *)GetDlgItem(IDC_EDIT_NL);/年龄编辑框if(CurrentCountSetWindowText(stuintWz.xh);cEdtXm-SetWindowText(stuintWz.xm);cEdtXb-SetWindowText(stuintWz.xb);CString strTemp;strTemp.Format(%d,stuintWz.nl);cEdtNl-SetWindowText(strTemp);22. 双击“末一个,进入代码编辑窗口后在相应位置添加如下代码以对“末一个按钮进展响应:void CClassManageDlg:OnButtonMyg() / TODO: Add your control notification handler code hereCEdit * cEdtXh=(CEdit *)GetDlgItem(IDC_EDIT_XH);/学号编辑框CEdit * cEdtXm=(CEdit *)GetDlgItem(IDC_EDIT_XM);/某某编辑框CEdit * cEdtXb=(CEdit *)GetDlgItem(IDC_EDIT_XB);/性别编辑框CEdit * cEdtNl=(CEdit *)GetDlgItem(IDC_EDIT_NL);/年龄编辑框if(CurrentCountSetWindowText(stuintWz.xh);cEdtXm-SetWindowText(stuintWz.xm);cEdtXb-SetWindowText(stuintWz.xb);CString strTemp;strTemp.Format(%d,stuintWz.nl);cEdtNl-SetWindowText(strTemp);23. 双击“删除,进入代码编辑窗口后在相应位置添加如下代码以对“删除按钮进展响应:void CClassManageDlg:OnButtonSc() / TODO: Add your control notification handler code hereif(intWzCurrentCount)MessageBox(当前不是有效数据,不能删除!,删除信息);elseif(MessageBox(确定要删除吗?,删除信息,MB_ICONQUESTION|MB_YESNO)=IDYES)/从数组中删除for(int i=intWz+1;i=1)/还有剩余信息可供操作if(intWz=CurrentCount+1)/当前是最后一个intWz=1; /显示第一条信息cEdtXh-SetWindowText(stuintWz.xh);cEdtXm-SetWindowText(stuintWz.xm);cEdtXb-SetWindowText(stuintWz.xb);CString strTemp;strTemp.Format(%d,stuintWz.nl);cEdtNl-SetWindowText(strTemp);elsecEdtXh-SetWindowText(无人员信息);cEdtXm-SetWindowText();cEdtXb-SetWindowText();CString strTemp;strTemp.Format(%s,);cEdtNl-SetWindowText(strTemp);24. 逐个选择主菜单中的如下菜单项:Insert-Resource,出现如下界面:选中“Menu后再单击“OK按钮,如此可增加一菜单IDR_MENU1,如如下图:25. 右击IDR_MENU1,选Properties (属性),按如下图进展设置:26. 双击IDR_MENU_MAIN,出现如下窗口:在此窗口中对菜单进展编辑右击选Properties (属性)可以进展编辑,如下:u 主菜单:两项,样式如如下图:属性如下:序号属性内容备注1Caption文件(&F)2Caption帮助(&H)u 各下拉子菜单属性如下表:序号属性内容备注1IDCaptionPromptID_FILE_OPEN打开(&O).tCtrl+O打开一个现有文档n打开属于“文件2IDCaptionPromptID_FILE_SAVE保存(&S)tCtrl+S保存活动文档n保存属于“文件3IDCaptionPromptID_APP_EXIT退出(&X)退出应用程序;提示保存文档n退出属于“文件4IDCaptionPromptID_APP_ABOUT关于本系统(&A).显示程序信息,版本号和n关于属于“帮助27. 从左侧ResourceView中双击打开IDD_CLASSMANAGE_DIALOG,在其上面空白处右击,选“Properties,如如下图:28. 单击Menu中右侧的下箭头,选中其中的IDR_MENU_MAIN,如如下图:29. 重新编译运行,效果如下:发现已经有了菜单,但菜单没作用,下面再逐步实现各菜单项功能。30. 从左侧ResourceView中双击打开菜单IDR_MENU_MAIN,再右击菜单中的“退出(X),选中菜单中的“ClassWizard,出现如下界面:31. 选中“Select an existing class后单击“OK按钮,如下:32. 按上图选择后单击“Select,如下:33. 按上图选择后单击“Add Function,如如下图:34. 单击“OK,如如下图:35. 按上图选择后单击“Edit Code,进入代码编辑窗口,在其中输入如下代码(加粗局部为用户录入局部):void CClassManageDlg:OnAppExit() / TODO: Add your mand handler code hereEndDialog(NULL);36. 按类似的步骤,给“保存(S)添加如下代码:void CClassManageDlg:OnFileSave() / TODO: Add your mand handler code hereFILE *fp;fp=fopen(bjxx.txt,w);if(fp=NULL)MessageBox(文件建立不功能,无法保存信息!,信息保存,MB_OK);elsefprintf(fp,%d,CurrentCount); for(int i=1;i=CurrentCount;i+)fprintf(fp,n%16s%8s%4s%4d,stui.xh,stui.xm,stui.xb,stui.nl); fclose(fp); MessageBox(信息已成功保存!,信息保存,MB_OK);37. 给“打开(O)添加如下代码:void CClassManageDlg:OnFileOpen() / TODO: Add your mand handler code hereFILE *fp;fp=fopen(bjxx.txt,r);if(fp=NULL)MessageBox(文件打开不功能,无法读取信息!,信息读取,MB_OK);elsefscanf(fp,%d,&CurrentCount); for(int i=1;i=1)/还有剩余信息可供操作intWz=1; /显示第一条信息cEdtXh-SetWindowText(stuintWz.xh);cEdtXm-SetWindowText(stuintWz.xm);cEdtXb-SetWindowText(stuintWz.xb);CString strTemp;strTemp.Format(%d,stuintWz.nl);cEdtNl-SetWindowText(strTemp);elsecEdtXh-SetWindowText(无人员信息);cEdtXm-SetWindowText();cEdtXb-SetWindowText();CString strTemp;strTemp.Format(%s,);cEdtNl-SetWindowText(strTemp);38. 给“关于本系统(A)添加如下代码:void CClassManageDlg:OnAppAbout() / TODO: Add your mand handler code hereCAboutDlg cDlg;cDlg.DoModal();39. 再次运行,分别选各菜单项,效果如如下图:40. 对“保存与“打开的进一步完善:目前的“保存与“打开都是对指定位置的指定文件的操作(保存或打开),无法由用户选择。下面我们通过使用文件操作对话框来实现对文件的灵活操作。将与菜单项“打开O与“保存(S)相对应的代码在原来根底上分别改为如下所示加粗局部为新增内容:void CClassManageDlg:OnFileSave() / TODO: Add your mand handler code hereFILE *fp;unsigned char fileFilter= 文本文件(*.txt)|*.txt|所有文件(*.*)|*.*|;CFileDialog dlgOpenFile(false,0,0,OFN_HIDEREADONLY|OFN_FILEMUSTEXIST,(LPCTSTR)fileFilter,NULL);if(dlgOpenFile.DoModal()=IDOK)CString fileName=dlgOpenFile.GetPathName();fp=fopen(fileName,w);if(fp=NULL)MessageBox(文件建立不功能,无法保存信息!,信息保存,MB_OK);elsefprintf(fp,%d,CurrentCount);for(int i=1;i=CurrentCount;i+)fprintf(fp,n%16s%8s%4s%4d,stui.xh,stui.xm,stui.xb,stui.nl);fclose(fp);MessageBox(信息已成功保存!,信息保存,MB_OK);void CClassManageDlg:OnFileOpen() / TODO: Add your mand handler code hereFILE *fp;unsigned char fileFilter= 文本文件(*.txt)|*.txt|所有文件(*.*)|*.*|;CFileDialog dlgOpenFile(true,0,0,OFN_HIDEREADONLY|OFN_FILEMUSTEXIST,(LPCTSTR)fileFilter,NULL);if(dlgOpenFile.DoModal()=IDOK)CString fileName=dlgOpenFile.GetPathName();fp=fopen(bjxx.txt,r);if(fp=NULL)MessageBox(文件打开不功能,无法读取信息!,信息读取,MB_OK);elsefscanf(fp,%d,&CurrentCount);for(int i=1;i=1)/还有剩余信息可供操作intWz=1; /显示第一条信息cEdtXh-SetWindowText(stuintWz.xh);cEdtXm-SetWindowText(stuintWz.xm);cEdtXb-SetWindowText(stuintWz.xb);CString strTemp;strTemp.Format(%d,stuintWz.nl);cEdtNl-SetWindowText(strTemp);elsecEdtXh-SetWindowText(无人员信息);cEdtXm-SetWindowText();cEdtXb-SetWindowText();CString strTemp;strTemp.Format(%s,);cEdtNl-SetWindowText(strTemp);再次运行,打开与保存的效果如下:41. “查询功能的实现:1) 选择菜单中的Insert-Resource-Dialog,单击“New按钮,建立一个对话框用入输入,如下:2) 在些对话框空白处右击,选Properties,在弹出的界面中按如下进展设置:3) 选择此设置对话框中的Styles页面,将其中的System menu取消选择,如如下图:4) 添加一个编辑框,并调整原有的两个按钮,结果如下:5) 按下表所示对其中的一个编辑框和两个按钮的相关属性进展设置:序号属性内容备注1IDIDC_EDIT_INPUT编辑框2IDCaptionIDOK确定&1确定按钮3IDCaptionIDCANCEL取消&0取消按钮6) 双击此新建对话框的空白处,出现如下界面:7) 按上图选择后单击“OK,如如下图:8) 在Name中输入CInputDlg后单击“OK9) 双击“确定按钮,进入代码编辑窗口后输入如下内容加粗局部为用户录入:void CInputDlg:OnOK() / TODO: Add extra validation hereCEdit * cEdtInput=(CEdit *)GetDlgItem(IDC_EDIT_INPUT);cEdtInput-GetWindowText(strInput);EndDialog(NULL);10) 双击“取消按钮,进入代码编辑窗口后输入如下内容加粗局部为用户录入:void CInputDlg:OnCancel() / TODO: Add extra cleanup herestrInput.Format();EndDialog(NULL);11) 在当前代码编辑窗口的前面局部增加一行语句:extern CString strInput;12) 通过左侧ResourceView双击打开IDD_CLASSMANAGE_DIALOG,再双击其中的“查询按钮,进展代码编辑窗口后输入如下代码:void CClassManageDlg:OnButtonCx() / TODO: Add your control notification handler code hereCInputDlg cInputDlg;cInputDlg.DoModal();if(strInput.GetLength()0)/有等查信息int i=0;CString strDcxx;CEdit * cEdtXh=(CEdit *)GetDlgItem(IDC_EDIT_XH);/学号编辑框CEdit * cEdtXm=(CEdit *)GetDlgItem(IDC_EDIT_XM);/某某编辑框CEdit * cEdtXb=(CEdit *)GetDlgItem(IDC_EDIT_XB);/性别编辑框CEdit * cEdtNl=(CEdit *)GetDlgItem(IDC_EDIT_NL);/年龄编辑框doi+;strDcxx.Format(%s,stui.xh);while(strInput.pare(strDcxx)!=0) & (i=CurrentCount);if(iSetWindowText(stui.xh);cEdtXm-SetWindowText(stui.xm);cEdtXb-SetWindowText(stui.xb);CString strTemp;strTemp.Format(%d,stui.nl);cEdtNl-SetWindowText(strTemp);else/没找到cEdtXh-SetWindowText(找不到);cEdtXm-SetWindowText();cEdtXb-SetWindowText();CString strTemp;strTemp.Format(%s,);cEdtNl-SetWindowText(strTemp);1
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!