教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 法律文档 >

MFC基本应用程序的建立实验报告

来源:网络收集 时间:2026-08-11
导读: MFC基本应用程序的建立-----VC++程序实验报告 计算机与信息技术学院综合性、设计性实验报告 专业:计算机科学与技术 年级/班级: 10计科一班 一、 实验目的: (1) 了解Windows的基本编程特点 (2) 会使用MFC AppWinzard(exe)创建单文档应用程序 (3) 学

MFC基本应用程序的建立-----VC++程序实验报告

计算机与信息技术学院综合性、设计性实验报告

专业:计算机科学与技术 年级/班级: 10计科一班

一、 实验目的:

(1) 了解Windows的基本编程特点

(2) 会使用MFC AppWinzard(exe)创建单文档应用程序

(3) 学会添加消息映射等简单功能

(4) 掌握用项目工作区的ClassView页面添加数据成员的方法

(5) 学会和掌握调试的一般步骤和过程

二、 实验内容:

(1) 在一个默认的单文档应用程序Ex_SDI中通过映射计时器消息实现这样的功能:无

论在Ex_SDI应用程序窗口的客户区中单击鼠标左键或右键,都会弹出“消息”对

话框,显示左键或右键的单击次数。

(2) 使用调试器对上述程序的流程和鼠标单击次数进行调试。

三、 实验步骤:

1、 创建工作文件夹

打开计算机,在“G:\Visual C++程序\实验”文件夹中创建一个新的子文件夹“实验8”。

2、 创建单文档应用程序Ex_SDI

创建单文档应用程序Ex_SDI的具体步骤如下:

(1) 启动Visual C++

(2) 选择“文件”→“新建”菜单命令,显示“新建”对话框。从列表中选中MFC

AppWinzard(exe)的项目类型项。

(3) 在“工程”编辑框中输入应用程序项目名称Ex_SDI,并将项目文件夹定位到

“D:\Visual C++程序\实验\实验8”。

(4) 单击“确定”按钮,显示“应用程序向导”对话框。选中单个文档(Single

Document,简称SDI)应用程序类型。单击“完成”按钮,系统将显示向导创

建的信息,单击“确定”按钮将自动创建此应用程序。

(5) 编译运行。

具体操作如下:

MFC基本应用程序的建立-----VC++程序实验报告

运行结果如下:

3、 添加数据成员:

添加数据成员的的具体步骤如下:

(1) 展开项目工作区窗口ClassView中的所有类结点。

(2) 用鼠标右键单击CEx_SDIView类结点,从弹出的快捷菜单中选择“Add

Member Variable(添加成员变量)”,弹出如图所示的“Add Member Variable”

对话框。

(3) 在Variable Type框中输入成员变量类型int,在Variable Name框中输入变量名

称m_nLButton。保留默认的访问方式(Acess)为Public。单击“确定”按钮,

这样,就会在CEx_SDIView中添加一个公有型成员变量m_nLButton,变量类

型为int。

MFC基本应用程序的建立-----VC++程序实验报告

(4) 按相同的方法,在CEx_SDIView中添加一个公有型成员变量m_nRButton,变

量类为int.

(5) 在项目工作区窗口Class View中,展开CEx_SDIView的所有结点,双击构造

函数CEx_SDIView()结点,在CEx_SDIView类的构造函数中添加下列成员变

量初始化代码:

CEx_SDIView::CEx_SDIView() {

m_nLButton=m_nRButton=0;

}

4、 添加消息映射:

添加消息映射的具体步骤如下:

(1) 按“Ctrl+W”快捷键打开“MFC ClassWizard”对话框。

(2) 在Class name组合框中,将类名选定为CEx_SDIView。此时,Object IDs和

Messages列表内容会相应的改变。在Object IDs列表框中选定CEx_SDIView,

而在Messages列表框中选定WM_LBUTTOMDOWM消息。

(3) 双击Messages列表中的WM_BUTTOMDOWM消息或者单击“Add Function”按钮,

都会在CEx_SDIView类中添加该消息的映射函数OnLButtonDowm,同时在

Member functions列表中显示这一消息映射函数和被映射的消息。映射

WM_LBUTTOMDOWN消息的结果如下:

MFC基本应用程序的建立-----VC++程序实验报告

(4) 单击“Edit Code”按钮后,ClassWizard对话框退出,并转向文档窗口,定

位到OnLButtonDown函数源代码处,添加以下代码:

void CEx_SDIView::OnLButtonDown(UINT nFlags, CPoint point) {

//计数变量m_nLButton加1,然后启动计时器

m_nLButton++;

SetTimer(1,50,NULL);

CView::OnLButtonDown(nFlags, point);

}

(5) 按相同的方法为CEx_SDIView类添加WM_RBUTTOMDOWN消息映射,并在映射函

数中添加下列代码:

void CEx_SDIView::OnRButtonDown(UINT nFlags, CPoint point)

{ //计数变量m_nRButton加1,然后启动计时器

m_nRButton++;

SetTimer(2,50,NULL);

CView::OnRButtonDown(nFlags, point);

}

(6) 按类似的方法为CEx_SDIView类添加一个WM_TIMER消息映射,并在映射函数

中添加下列代码:

void CEx_SDIView::OnTimer(UINT nIDEvent)

{ CString str; //

创建一个字符串类对象

//通过判断nIDEvent的值来确定是单击鼠标左键

还是右键

if(nIDEvent==1)

MFC基本应用程序的建立-----VC++程序实验报告

str.Format("你已单击鼠标左键 %d 次!",m_nLButton); if(nIDEvent==2) str.Format("你已单击鼠标右键 %d 次!",m_nLButton); if((nIDEvent==1)||(nIDEvent==2)) { KillTimer(nIDEvent); //先要关闭计时器 MessageBox(str,"报告"); } CView::OnTimer(nIDEvent);

}

(7)编译运行并测试,结果如图:

5

、 设置断点

在设置断点之前,首先要保证程序中没有语法错误,所谓断点就是告诉调试器在何处暂时中断程序的进行,以便查看程序的状态以及浏览和修改变量的值等。

(1) 在项目工作区的ClassView页面中,展开CEx_SDIView下的所有结点。

(2) 双击OnLButtonDown结点,会在文档窗口中打开并定位到该消息映射代码处,在

代码行“m_nLButton++;”中单击鼠标。

(3) 用下列3种方式之一设置断点,会在代码行“m_nLButton++;”的最前面的窗口页

边距上有一个深红色的实心圆块,如图:

MFC基本应用程序的建立-----VC++程序实验报告

①按快捷键F9

②在Build工具栏上单击按钮

③在需要设置(或清除)断点的位置上单击鼠标右键,在弹出的快捷菜单中选择“Insert/Remove Breakpoint”命令

6、 控制程序运行

具体步骤如下:

(1) 选择“组建”菜单→“开始调试”子菜单的“去”命令,或单击“编译微型条”

中的按钮,自动调试器。

(2) 程序运行后在客户区单击鼠标左键,由于程序中该消息的映射函数中设置了断点,

因此程序会在该断点处停顿下来。

(3) 这时可以看到有一个黄色小箭头,它指向即将执行的代码。而且,原来的“编译”

菜单会变成“Debug”)(调试)菜单,如图所示。

MFC基本应用程序的建立-----VC++程序实验报告

其中4条命令Step Into、Step Over、Step Out和Run to Cursor是用于控制程序运行的,其含义是:

①Step Over的功能是运行当前箭头指向的代码(只运行一条代码)

②Step Into的功能是如果当前箭头所指向的代码是一个函数的调用,则用Step Into进入该函数进行单步执行

③Step Out的功能是如果当前箭头所指向的代 …… 此处隐藏:3285字,全部文档内容请下载后查看。喜欢就下载吧 ……

MFC基本应用程序的建立实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/1415386.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)