一、实验要求
- 实现一个显示钱币叠加的小程序,步骤如下:
- 建立一个SDI应用程序;
- 在文档类中添加关于钱币个数的数据;
- 在视图中图示化钱币及其数值;
- 通过菜单改变文档类中的钱币数量后,视图上图示化的钱币也得到实时更新,实现显示钱币的叠加。
- 修改上面的程序,通过点击鼠标来更改文档类中的硬币数据:单击鼠标左键增加硬币,单击鼠标右键减少硬币。
- 修改上面的程序,通过键盘来更改文档类中的硬币数据:点击“↑”键增加硬币,点击“↓”键减少硬币。
二、实验过程
(一)利用按钮控制硬币数量的增减
1、利用MFC新建一个基于对单文档的应用程序(SDI应用程序)。
2、在CCoinDoc类上右键并添加成员变量——硬币数量m_coin.
3、在OnNewDocument()方法中,对变量m_coin初始化。
4、修改OnDraw()函数,添加代码使其在图形界面绘制出硬币;
5、切换到资源视图,在Menu上增加图形按钮“操作”,二级菜单分别添加“增加”和“减少”按钮。
6、对按钮建立类向导,新建对应的操作函数,与按钮进行关联。
7、在类视图中找到对应的方法,补充完善操作对应的代码。
8、运行界面如下。可以通过菜单栏“操作”的二级操作菜单按钮“增加”和“减少”实现硬币数的增加和减少。
(二)利用鼠标控制硬币数量的增减
1、右键点击View类,依次对鼠标左右键建立Windows Message Handler。
2、编写鼠标左/右键点击对应的代码,实现左键点击增加硬币数,右键点击减少硬币数。
3、运行界面如下。可以通过鼠标左键点击增加硬币数,右键点击减少硬币数。
(三)利用键盘控制硬币数量的增减
1、右键点击View类,对键盘上下键键建立Windows Message Handler。
2、编写键盘上下键对应的代码,实现上键点击增加硬币数,下键点击减少硬币数。
3、运行界面如下。可以通过按下“↑”键增加硬币数,“↓”键减少硬币数。