




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东北大学软件学院实验报告第1页共9页MFC可视化程序设计实验报告课程名称:MFC可视化程序设计姓名:实验名称:MFC可视化程序设计学号:任课教师:马毅专业:信息安全指导教师:马毅班级:班实验成绩:批阅教师签字:
一、实验目的加深理解Windows程序设计的基本概念。基于单文档的应用程序的创建学会对话框的创建二、实验环境 MicrosoftWindowsXP MicrosoftVisualC++6.三、实验内容和预习实验一:弹出对话框,运用DoModal()函数;实验二:弹出非模态对话框,声明指针,运用Create(),ShowWindow()函数弹出非模态对话框;实验三:查找文件;运用CFileDialog(),GetPathName()函数;实验四:网上调查,添加Button,分组,在OKButton上添加消息映射,运用GetButton()函数,在窗体中添加缺省项;实验五:计算器,添加ExitButton,在OKButton中修改属性,在修改后添加消息映射;在窗体ClassWizard导入类中选择MemberVariable中添加controlEdit;然后在ONOK中写入函数;实验六:图标运用GetCheck()函数,装载图标,在子菜单中显示出来;四、实验过程与分析实验一:弹出对话框关键代码:Cfrista;//定义对话框类的对象 if(a.DoModal()==IDOK)//clickOKButton MessageBox("Areyousureexit?");//弹出语句编译错误,没有声明头文件#include“frist.h”实验二:创建一个非模态的单文档窗口步骤:①步骤和(一)差不多只是代码不同,在堆中开辟内存定义一个指针,指向弹出对话框的那个类。②运用Create(),和ShowWindow();函数分别创建和显示和出来然后用DestroyWindow();函数,deletethis;关键代码: Csecond*p; p=newCsecond(); p->Create(IDD_DIALOG2);//创建对话框 p->ShowWindow(SW_NORMAL);//显示出对话框p=newCsecond();构造函数调用错了实验三:查找文件运用CFileDialog(),和GetPathName()函数;关键代码: CStringfilter;filter="文本文件(*.txt)|*.txt|c++文件(*.h,*.cpp)|*.h;*.cpp||";CFileDialogdlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT,filter);//建立文件对话框 if(dlg.DoModal()==IDOK) { CStringstr; str=dlg.GetPathName();//获得文件名 AfxMessageBox(str);//输出文件名 }没有输出路径,函数运用了GetFileName();应该运用的是GetPathName()函数。实验四:网络调查:(老师您提问我,如何在已有的组里在再添加Button项,程序可执行?下面是我改后的代码;其中IDC_RADIO7和IDC_RADIO8是后添加的)①添加Button,分组;在OKButton上添加消息映射,运用GetButton()函数,在窗体中添加缺省项;关键代码:CStringstrTemp=""; CStringstrText=""; intiID; iID=GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO3);//检查3个中哪一个被选中 if(iID==0) { iID=IDC_RADIO7; }//如果未选中将iID的值赋为IDC_RADIO7 GetDlgItem(iID)->GetWindowText(strTemp);//得到RADIO的内容 strText+=strTemp+'\n'; iID=GetCheckedRadioButton(IDC_RADIO4,IDC_RADIO6); if(iID==0) { iID=IDC_RADIO8; } GetDlgItem(iID)->GetWindowText(strTemp); strText+=strTemp+'\n'; intiIDs[4]={IDC_CHECK1,IDC_CHECK2,IDC_CHECK3}; CButton*p; for(inti=0;i<3;i++)//将四个中的选中那个show出来 { p=(CButton*)GetDlgItem(iIDs[i]);//强制类型转换 if(p->GetCheck())//把被选中的show出来 { p->GetWindowText(strTemp); strText+=strTemp+""; } }设置默认: MessageBox(strText);//show CheckRadioButton(IDC_RADIO1,IDC_RADIO7,IDC_RADIO7);//能选中的有RADIO1,2,3和RADIO7,RADIO7是默认的 CheckRadioButton(IDC_RADIO4,IDC_RADIO8,IDC_RADIO8); CButton*p=(CButton*)GetDlgItem(IDC_CHECK2); p->SetCheck(1);故障:现象:第一组没有默认,分析:1到7是1,2,3加7而不是1,2,3,4,5,6,7;4,5,6是另一组的;问题应该是在设置默认函数时默认设为IDC_RADIO6或5等;实验五:计算器步骤:添加ExitButton,在OKButton中修改属性,在修改后添加消息映射;在窗体ClassWizard导入类中选择MemberVariable中添加controlEdit;然后在ONOK中写入函数;关键代码: charch1[10]; charch2[10]; charch3[10]; intnum1; m_edit1.GetWindowText(ch1,10);//得到对话框中输入的数字m_edit2.GetWindowText(ch2,10); num1=atoi(ch1)+atoi(ch2);//转换成int类型,并做加法 itoa(num1,ch3,10); m_edit3.SetWindowText(ch3);//输出即在框中显示出来实验六:图标(BITMAP)首先在CMainFrame类中添加属性bool类型的bCh;然后再构造函数里为bCh赋值为false;为图标添加command消息映射;并写入代码bCh!=bCh;//单击时图标变换;接着在为图标添加UPDATE_COMMAND_UI的消息映射,运用GetCheck()函数,标识选中的图标,将已有的图标装载,在子菜单中显示出来;五、实验总结(一)、创建一个单文档窗口①在Dialog中插入一个对话框然后为对话框建立一个类CFrist②在IDR_MAINFRAME中建一个属性(子菜单),用它弹出对话框。在子菜单中导入类,增加消息映射,编写代码。用DoMoal显示出来(二)创建一个非模态的单文档窗口①步骤和(一)差不多只是代码不同,在堆中开辟内存定义一个指针,指向弹出对话框的那个类。②运用Create(),和ShowWindow();函数分别创建和显示和出来(三)查找文件①运用CFileDialog(),和GetPathName()函数;返回的文件的位置(路径);(四)网上调查:①添加Button,分组;②在OKButton上添加消息映射,运用GetButton()函数,在窗体中添加缺省项;(五)计算器:添加ExitButton,在OKButton中修改属性,在修改后添加消息映射;在窗体ClassWizard导入类中选择MemberVariable中添加controlEdit;然后在ONOK中写入函数;计算加法;实验改进可以在计算减法;(六)图标:首先在CMainFrame类中添加属性bool类型的bCh;然后再构造函数里为bCh赋值为false;为图标添加command消息映射;并写入代码bCh!=bCh;//单击时图标变换;接着在为图标添加UPDATE_COMMAND_UI的消息映射,运用GetCheck()函数,标识选中的图标,将
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 征文投稿合同范本
- 销售密封蝶阀合同范本
- 仓库出租露天合同范本
- 社区应急知识培训课件通知
- 房屋建房入股合同范本
- 房屋租赁合同范本
- 保险赔偿要合同范本
- 灯带安装合同范本
- 委托加工收款合同范本
- 独家合作猎头合同范本
- 手术室甲状腺切除术手术配合护理查房
- 国家电网电力中级职称考试题
- 数据库设计规范说明
- 建设工程消防验收评定规则
- 肾内科临床技术操作规范2022版
- 山东省临沂市兰山区2022-2023学年小升初数学自主招生备考卷含答案
- 2023年中国工商银行软件开发中心春季校园招聘500人笔试模拟试题及答案解析
- 地质勘查钻探岩矿心管理通则
- D500-D505 2016年合订本防雷与接地图集
- 北邮社电机拖动与调速技术教学包课后题解
- 社区矫正法课件
评论
0/150
提交评论