2019春实验6 8实验报告

发布 2022-09-10 06:05:28 阅读 1389

实验六创建应用程序框架。

一、实验目的。

1、掌握mfc appwizard的使用方法。

2、掌握mfc应用程序框架及其开发流程。

3、掌握应用程序向导生成的主要文件的作用。

4、掌握class wizard的功能及其使用技巧。

5、掌握基本的程序调试方法。

二、实验要求。

1、编写一个sdi应用程序mymessage,程序运行后在程序视图窗口左击或右击鼠标时分别弹出不同提示信息的对话框,显示左击或右击鼠标的次数。

具体步骤:1)利用mfc appwizard[exe]建立一个单文档应用程序mymessage。

2)为视图类cmymessageview添加两个private属性、int类型的成员变量m_nleft和m_nright。在项目工作区的classview类视图中右击cmymessageview,在弹出式菜单中选择add member variable命令项出现添加成员变量对话框,在对话框中输入变量类型和变量名、选择属性。也可以采用手工方法直接在头文件中添加一般的成员变量。

3)在视图类cmymessageview的构造函数中添加初始化成员变量的**:

cmymessageview::cmymessageview()

todo: add construction code here

m_nleft=0初始化成员变量 m_nright=0; }

4)分别添加鼠标左击或右击的消息处理函数。

5) 在消息处理函数onlbuttondown()和onrbutton-down()中指定位置添加如下**,以累加左击或右击鼠标的次数,并弹出一个信息框。

void cmymessageview::onlbuttondown (uint nflags, cpoint point)

//todo: add your message handler code here

m_nleft左击鼠标次数加一。

cstring stroutput产生用于输出的格式化字符串。

"the times of left button down: %d", m_nleft);

messagebox(stroutput弹出提示信息框。

cview::onlbuttondown(nflags, point);

2、编写一个简单绘图程序mydraw,要求实现下列功能:

当用户在客户区按下鼠标左键并移动时,根据鼠标移动的轨迹绘制出指定的线段;

具体步骤:1)利用mfc appwizard[exe]向导创建一个sdi应用程序mydraw,为视图类cmydrawview添加成员变量:

protected: /定义有关鼠标作图的成员变量。

cpoint m_ptorigin; /起始点坐标。

bool m_bdragging; /拖拽标记

hcursor m_hcross; /光标句柄。

2)在视图类cmydrawview构造函数中设置拖拽标记和十字光标。

cmydrawview::cmydrawview()

// todo: add construction code here

m_bdragging=false; /初始化拖拽标记

// 获得十字光标句柄。

m_hcross=afxgetapp()-

loadstandardcursor(idc_cross);

3)利用classwizard类向导为视图类添加按下鼠标左键wm_lbuttondown的消息处理函数。

void cmydrawview::onlbuttondown(

uint nflags, cpoint point)

// todo: add your message

setcapture();捕捉鼠标。

::setcursor(m_hcross设置十字光标。

m_ptorigin=point;

m_bdragging=true设置拖拽标记

/ cview::onlbuttondown(nflags, point);

利用classwizard类向导为视图类添加鼠标移动wm_mousemove的消息处理函数。

void cmydrawview::onmousemove(

uint nflags, cpoint point)

// todo: add your message

if(m_bdragging)

// cview::onmousemove(nflags, point);

利用classwizard类向导为视图类添加左键释放wm_lbuttonup的消息处理函数。

void cmydrawview::onlbuttonup(uint nflags, cpoint point)

// todo: add your message

if(m_bdragging)

/ cview::onlbuttonup(nflags, point);

利用classwizard类向导为视图类添加鼠标移动wm_mousemove的消息处理函数。

void cmydrawview::onmousemove(

uint nflags, cpoint point)

// todo: add your message

if(m_bdragging)

// cview::onmousemove(nflags, point);

实验七对话框和控件。

一、实验目的。

1、掌握标准控件的设计与应用。

2、掌握公共控件的设计与应用。

二、实验要求。

编写一个四则运算对话框程序,能进行简单的加、减、乘、除运算。

三、实验步骤。

1) 新建单文档应用程序,工程名:ex6_3

2) 添加对话框资源。

插入对话框,打开“dialog properties”对话框,将general标签中的id中设置为idd_caldlg.标题为“四则运算对话框”

3) 添加控件。

界面见上。成组框2个。

静态文本3个。

编辑框3个,命令按钮4个。

id号如下图所示,并给3个编辑框添加成员变量如下。

4) 创建对话框类。

在对话框编辑器中,双击“四则运算对话框”,添加新类,在“new class”对话框的类名name中输入ccaldlg。单击ok按钮,即创建了“ccaldlg”类。

5) 添加成员变量。

在mfc classwizard对话框,成员函数标签中,选择类名“ccaldlg”,表示为该类定义成员变量,具体见上表(成员变量名、种类、值类型)

6) 添加单击命令按钮的消息函数(+、

在mfc classwizard对话框,第一个消息映射标签添加消息函数,7) 编写消息函数(在文件中)

void ccaldlg::onbuttonadd()

// todo: add your control notification handler code here

updatedata(true);

m_result=m_num1+m_num2;

updatedata(false);

void ccaldlg::onbuttondivide()

// todo: add your control notification handler code here

updatedata(true);

m_result=m_num1/m_num2;

updatedata(false);

void ccaldlg::onbuttonminus()

// todo: add your control notification handler code here

updatedata(true);

m_result=m_num1-m_num2;

updatedata(false);

void ccaldlg::onbuttonmultply()

// todo: add your control notification handler code here

updatedata(true);

m_result=m_num1*m_num2;

updatedata(false);

8) 对话框调用(模态对话框)

对话框调用步骤如下:

1、 定义菜单选项。

在菜单编辑器中,创建“对话框”菜单,在“对话框”菜单中添加“四则运算…”菜单选项。

2、 添加和编写菜单命令消息函数。

利用类向导,在cex6_3view中添加菜单对象“id_diadlg_cal”的单击命令消息控制函数。

3、 添加的说明。

菜单调用对话框(在ex6_文件中)

#include "ex6_"

#include ""

void cex6_3view::ondialogcal()

// todo: add your command handler code here

ccaldlg dlg;

实验八图形处理。

一、实验目的。

1、掌握vc++ide绘制图形的方法。

实验二实验报告

电子电路与系统基础实验 2014年第一次实验。实验题目 仪器使用及常用基本电量的测量。班级 无36 学号 2013011178 姓名 马昊宇。日期 2014 5 3 一 实验目的。1 掌握二极管和稳压二极管的特性 掌握二极管的基本应用 2.加深对二极管非线性特性的理解 3 掌握判断二极管好坏和极性的...

实验4实验报告

计算机图形学 实验4实验报告。实验题目 参数曲线绘制。实验内容 1 园的参数曲线绘制。2显式数学曲线描绘程序。3贝赛尔曲线绘制。编写程序调用验证之。参考资料 1 4 数学曲线绘制。ppt和实验3的参考ppt 基本概念 详细叙述自己对实验内容的理解 参数曲线的绘制就是利用微分思想,由已知的方程将某些范...

实验4实验报告

visual foxpro面向对象程序设计与应用 实验报告。一 实验目的及要求。1.熟练掌握表的创建 表的打开与关闭 表结构的显示与修改 表的复制及表与数组的数据传递。2.记录的输入 追加与插入,记录的定位 记录的显示 记录的修改 记录的删除 记录的恢复。二 实验内容 实验前,务必设置好默认工作目录...