基于MFC的一个简单应用系统的开发示例.doc_第1页
基于MFC的一个简单应用系统的开发示例.doc_第2页
基于MFC的一个简单应用系统的开发示例.doc_第3页
基于MFC的一个简单应用系统的开发示例.doc_第4页
基于MFC的一个简单应用系统的开发示例.doc_第5页
免费预览已结束,剩余28页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、实验名称:实验:基于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 command handler code hereEndDialog(NULL);36. 按类似的步骤,给“保存(S)”添加如下代码:void CClassManageDlg:OnFileSave() / TODO: Add your command 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 command 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 command handler code hereCAboutDlg cDlg;cDlg.DoModal();39. 再次运行,分别选各菜单项,效果如下列图:40. 对“保存”及“打开”的进一步完善:目前的“保存”及“打开”都是对指定位置的指定文件的操作(保存或打开),无法由用户选择。下面我们通过使用文件操作对话框来实现对文件的灵活操作。将与菜单项“打开(O)”及“保存(S)”相对应的代码在原来基础上分别改为如下所示(加粗部分为新增内容):void CClassManageDlg:OnFileSave() / TODO: Add your command 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 command 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=dlgOpenFi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论