手机版

Visual C++应用程序设计实验报告之MFC基本应用程序的建立

发布时间:2024-08-28   来源:未知    
字号:

实验内容与分析设计(1)在一个默认的单文档应用程序Ex_SDI中通过映射计时器消息实现这样的功能:无论在Ex_SDI应用程序窗口的客户区单击鼠标右键或者左键,都会弹出消息对话框,显示鼠标左键或者右键的单击次数。(2)使用调试器对上述程序的流程和鼠标单击次数进行调试。

实验步骤与调试过程

1.创建工作文件夹 2.创建单文档应用程序 Ex_SDI 3.添加公有整型成员变量 m_nLButton 和 m_nRButton 并在 CEx_SDIView 类的构造函数中添 加成员变量初始化代码:m_nLButton=m_nRButton=0; 4.添加消息映射: 打开 MFC ClassWizard 对话框,在 CEx_SDIView 类中选定 WM_LBUTTONDOWN 消息; 双击后产生响应函数 OnLButtonDown,在其中添加如下代码 M_nLButton++;SetTimer(1,50,NULL) ; 同样地添加 WM_RBUTTONDOWN 消息映射,并在映射中添加下列代码 m_nRButton++; SetTimer(2,50,NULL) ; 类似地添加 WM_TIMER 消息映射,并在映射函数中添加下列代码 CString str; //创建一个字符串类对象 //通过判断 nIDEvent 的值来确定是单击鼠标左键还是右键 if(nIDEvent==1) str.Format("你已经单击鼠标左键 %d 次!",m_nLButton); if(nIDEvent==2) str.Format("你已经单击鼠标右键 %d 次!",m_nRButton); if((nIDEvent==1)||(nIDEvent==2)) { KillTimer(nIDEvent); //先要关闭计数器 MessageBox(str,"报告"); } 编译运行并测试

5.设置断点 双击 OnLButton 结点,在代码行 m_nLButton++;中单击鼠标,用下列三种方式之一设 置断点: (1)按快捷键 F9(2)在 Build 工具栏上单击 (3)在需要设置断点的位置上单

击鼠标右键在快捷菜单中选择 Insert/Remove Breakpoint 命令,设置成功后会出现一个深红 色的实心圆,如: 6.控制程序运行 (1)编译->开始调试->go 启动调试器 (2)程序运行后,在客户区单击鼠标左键,由于程序中该消息的映射函数中设置了断 点,因此程序会在该断点处停下 (3)这时可以看到有一个黄色的小箭头,它指向即将执行的代码。而且原来的“编译” 菜单会变成“Debug” ,其中有四条命令是控制程序运行的,其含义是:

Step Over 的功能是运行当前箭头所指的代码。 Step Into 的功能是如果当前箭头所指的代码是一个函数调用, 则用 Step Into 进入该函数 进行单步执行 Step Out 的功能是如果当前箭头所指向的事在某一个函数内, 则它使程序运行至函数返 回处 Run To Cursor 的功能是使程序运行至光标所指的代码处 7.查看和修改变量的值 (1)启动调试器,程序运行后,单击鼠标左键,程序停顿下来。 (2)如图,可以看到 Variables 窗口有 3 个页面:Auto,Locals 和 This

(3)按 F10,执行下一步 SetTimer(1,50,NULL) ,nLBut

ton 值变为 1 (4)在 Watch 窗口中单击“name”域下的空框,输入 m_NRButton,相应的值会自动 出现在“值”中,同时末尾处又出现新的空框

(5)选择“QuickView”命令会弹出窗口,其中表达式框可以让用户输入变量名或表达 式,然后按 Enter 就可以在当前值中显示相应的值,单击添加监视按钮可以将刚才输入的变 量名或表达式及其值显示在“Watch”窗口中。 从上述过程看出, 调试一般按这样的步骤进行: 修正语法错误->设置断点 启用调试器 设置断点->启用调试器 从上述过程看出, 调试一般按这样的步骤进行: 修正语法错误 设置断点 ->控制程序运行 查看和修改变量的值。 控制程序运行->查看和修改变量的值 控制程序运行 查看和修改变量的值。

实验结果

无论在Ex_SDI应用程序窗口的客户区单击鼠标右键或者左键,都会弹出消息对话框,显示鼠标左键或者右键的单击次数。

实验内容与分析设计(1)在一个默认的单文档应用程序Ex_SDI中通过映射计时器消息实现这样的功能:无论在Ex_SDI应用程序窗口的客户区单击鼠标右键或者左键,都会弹出消息对话框,显示鼠标左键或者右键的单击次数。(2)使用调试器对上述程序的流程和鼠标单击次数进行调试。

疑难小结

MFC主要组成部分:类、宏和全局函数。

类是MFC中最主要的内容。MFC类是以层次结构方式组织起来的。MFC中的类分成两部分,除了一些辅助类,大多数的MFC类是直接或间接从根类CObject派生而来。

1、输入时大小写错误或者漏写分号、括号等问题,检查核对调试正确即可。

2、对操作流程不熟悉,不能尽快打开指定的窗口或工作区域,以后要勤加练习,熟悉其操作流程。

3、对键盘熟悉度不够,键入速度过慢,影响了上机效率,以后会多打多练。

主要算法和程序清单

CString str;

if(nIDEvent==1)

str.Format("ni yi dan ji shu biao zuo jian %d ci!",m_nLButton);

if(nIDEvent==2)

str.Format("ni yi dan ji shu biao you jian %d ci!",m_nRButton);

if((nIDEvent==1)||(nIDEvent==2))

{

KillTimer(nIDEvent);

MessageBox(str,"baogao");

}

Visual C++应用程序设计实验报告之MFC基本应用程序的建立.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
    ×
    二维码
    × 游客快捷下载通道(下载后可以自由复制和排版)
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
    × 常见问题(客服时间:周一到周五 9:30-18:00)