资源描述:
《vc++mfc鼠标做图编程实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、实验目的(1)熟悉VisualC++6.0开发环境;(2)掌握应用MFC类库编写鼠标绘图程序的方法;(3)掌握MFC环境中绘图函数的使用方法。二、实验内容创建一个单文档应用程序,实现鼠标的绘图功能。要求:(1)创建一个工具栏,有线段、矩形、椭圆三个按钮;(2)绘图前,选择工具栏上的按钮,确定图形的形状。按下鼠标左键,开始绘图,结合鼠标的光标坐标值,来确定图形的形状和大小,并随着鼠标的移动在屏幕上实时绘制图形,放开鼠标左键,确定最后的图形,绘制在屏幕上。三、实验处理列表实现绘图功能的代码清单:1、P
2、ic.h代码如下#if!defined(AFX_PIC_H__00F5F2B9_A2A6_4ED6_907E_EC07AA168545__INCLUDED_)#defineAFX_PIC_H__00F5F2B9_A2A6_4ED6_907E_EC07AA168545__INCLUDED_#if_MSC_VER>1000#pragmaonce#endif//_MSC_VER>1000classCPic{public:CPic();virtual~CPic();voidDraw(CDC*PDC);publ
3、ic:UINTm_nDrawType;intm_nX0;intm_nY0;intm_nX1;intm_nY1;};#endif//!defined(AFX_PIC_H__00F5F2B9_A2A6_4ED6_907E_EC07AA168545__INCLUDED_)2、Pic.cpp代码如下://Pic.cpp:implementationoftheCPicclass.///////////////////////////////////////////////////////////////////
4、/////#include"stdafx.h"#include"Shiyan8.h"#include"Pic.h"#ifdef_DEBUG#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#definenewDEBUG_NEW#endif////////////////////////////////////////////////////////////////////////Construction/Destruction/////////////////
5、/////////////////////////////////////////////////////CPic::CPic(){}CPic::~CPic(){}voidCPic::Draw(CDC*pDC){CPenPenLN,*pOldPen;PenLN.CreatePen(PS_SOLID,3,RGB(255,0,0));pOldPen=pDC->SelectObject(&PenLN);switch(m_nDrawType){case0:pDC->MoveTo(m_nX0,m_nY0);pD
6、C->LineTo(m_nX1,m_nY1);break;case1:pDC->Ellipse(m_nX0,m_nY0,m_nX1,m_nY1);break;case2:pDC->Rectangle(m_nX0,m_nY0,m_nX1,m_nY1);break;}pDC->SelectObject(pOldPen);}3、shiyan8view.cpp程序如下://Shiyan8View.cpp:implementationoftheCShiyan8Viewclass//#include"stdafx
7、.h"#include"Shiyan8.h"#include"Shiyan8Doc.h"#include"Shiyan8View.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endif///////////////////////////////////////////////////////////////////////////////CShiyan8ViewIMPLEMENT_DY
8、NCREATE(CShiyan8View,CView)BEGIN_MESSAGE_MAP(CShiyan8View,CView)//{{AFX_MSG_MAP(CShiyan8View)ON_COMMAND(ID_DRAW_FILEOPEN,OnDrawFileopen)ON_UPDATE_COMMAND_UI(ID_DRAW_FILEOPEN,OnUpdateDrawFileopen)ON_COMMAND(ID_DRAW_FILESAVE,OnDraw