




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东北大学软件学院实验报告第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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 满族课件内容
- 2025届孝感市重点中学七下生物期末质量跟踪监视模拟试题含解析
- 上海劳务合同范例6
- 技能鉴定铁路轨道类-技师接触网工真题库-2
- 2025年江苏苏州市昆山人力资源市场集团有限公司招聘笔试参考题库含答案解析
- 2025年山东泰安市东平县中林东平湖发展有限公司招聘笔试参考题库含答案解析
- 2025年云南临沧市永德县林产业开发有限责任公司招聘笔试参考题库含答案解析
- 2025年山东东营市黄河口新能源发展集团有限公司招聘笔试参考题库含答案解析
- 2025年江苏常熟市虞山尚湖旅游发展有限责任公司招聘笔试参考题库含答案解析
- 2025年贵州铜仁市九龙地矿投资开发有限责任公司招聘笔试参考题库含答案解析
- 2019鲁教版高中地理选择性必修第二册《第二单元 不同类型区域的发展》大单元整体教学设计2020课标
- 2023年航空服务消费者调查报告
- 航空公司客户服务沟通技巧考核试卷
- 服装店员工考勤管理制度
- 2024年国家图书馆招聘应届毕业生105人历年高频500题难、易错点模拟试题附带答案详解
- 铁路信号技师技术总结
- 建筑中级职称《建筑工程管理》历年考试真题题库(含答案)
- 洗瓶机推瓶机构设计计算说明书+运动简图+运动循环图
- 2024年山东省高中学业水平合格考生物试卷试题(含答案详解)
- 医疗器械追溯制度
- 小学六年级下册数学期末考试卷完整版
评论
0/150
提交评论