资源简介
MFC绘图板源代码及设计报告、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
代码片段和文件信息
// Graph.cpp: implementation of the CGraph class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “MFC绘图版.h“
#include “Graph.h“
#include “math.h“
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
//5.在实现文件cpp中 使用宏定义DECLARE_SERIAL( CGraphCobject1/*类的版本号*/)
IMPLEMENT_SERIAL( CGraph Cobject 1 )
CGraph::CGraph()
{
}
CGraph::CGraph(UINT DrawIndexCPoint FirstPointCPoint SecondPointCOLORREF colorUINT LineWidthint Linestyle)
{//5个参数的构造函数
this->m_DrawIndex = DrawIndex;
this->m_FirstPoint = FirstPoint;
this->m_SecondPoint= SecondPoint;
this->m_color = color;
this->m_nLinestyle = Linestyle;
this->m_nLineWidth = LineWidth;
}
CGraph::~CGraph()
{
}
void CGraph::Draw(CDC *pDC)
{//CGraph的绘画方法 根据m_DrawIndex的不同 调用不同的画法
CPen hpen(m_nLinestylem_nLineWidthm_color);
CBrush *pBrush = CBrush::FromHandle((HBRUSH)GetStockobject(NULL_BRUSH));
CBrush *pOldBrush = pDC->Selectobject(pBrush);
switch(m_DrawIndex)
{
case 1:
pDC->Selectobject(&hpen);
pDC->MoveTo(m_FirstPoint);
pDC->LineTo(m_SecondPoint);
break;
case 2:
break;
case 3:
{
float flRlt;
flRlt=(float)((m_FirstPoint.x-m_SecondPoint.x)*(m_FirstPoint.x-m_SecondPoint.x)+(m_FirstPoint.y-m_SecondPoint.y)*(m_FirstPoint.y-m_SecondPoint.y));
flRlt=sqrt(flRlt);
if(flRlt == 0)
return;
float flLength = 15;
float flAngle = 100;//设置有向箭头的角度
float tmpX = (float)(m_SecondPoint.x) + ((float)(m_FirstPoint.x)-(float)(m_SecondPoint.x))*flLength/flRlt;
float tmpY = (float)(m_SecondPoint.y) + ((float)(m_FirstPoint.y)-(float)(m_SecondPoint.y))*flLength/flRlt;
float fl1X = (tmpX-(float)(m_SecondPoint.x))*cos(-flAngle/2) - (tmpY-(float)(m_SecondPoint.y))*sin(-flAngle/2) + (float)(m_SecondPoint.x);
float fl1Y = (tmpY-(float)(m_SecondPoint.y))*cos(-flAngle/2) + (tmpX-(float)(m_SecondPoint.x))*sin(-flAngle/2) + (float)(m_SecondPoint.y);
float fl2X = (tmpX-(float)(m_SecondPoint.x))*cos(flAngle/2) - (tmpY-(float)(m_SecondPoint.y))*sin(flAngle/2) + (float)(m_SecondPoint.x);
float fl2Y = (tmpY-(float)(m_SecondPoint.y))*cos(flAngle/2) + (tmpX-(float)(m_SecondPoint.x))*sin(flAngle/2) + (float)(m_SecondPoint.y);
pDC->Selectobject(&hpen);
pDC->MoveTo(m_FirstPoint);
pDC->LineTo(m_SecondPoint);
pDC->MoveTo(m_SecondPoint.xm_SecondPoint.y);
pDC->LineTo(fl1Xfl1Y);
pDC->MoveTo(m_SecondPoint.xm_SecondPoint.y);
pDC->LineTo(fl2Xfl2Y);
pDC->MoveTo(fl1Xfl1Y);
pDC->LineTo(fl2Xfl2Y);
}
break;
case 4:
{
pDC->Selectobject(&hpen);
pDC->Ellipse(CRect(m_FirstPointm_SecondPoint));
pDC->Selectobject(pOldBrush);
}
break;
case 5:
{
pDC->Selectobject(&hpen);
pDC->Ellipse(CRect(m
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 475136 2009-12-22 13:46 07\报告.doc
文件 19472 2010-06-25 14:59 07\新建文件夹\Debug\Graph.obj
文件 0 2010-06-25 14:59 07\新建文件夹\Debug\Graph.sbr
文件 23123 2010-06-25 14:59 07\新建文件夹\Debug\MainFrm.obj
文件 0 2010-06-25 14:59 07\新建文件夹\Debug\MainFrm.sbr
文件 3318784 2010-06-25 14:59 07\新建文件夹\Debug\MFC绘图版.bsc
文件 741451 2010-06-25 14:59 07\新建文件夹\Debug\MFC绘图版.exe
文件 508364 2010-06-25 14:59 07\新建文件夹\Debug\MFC绘图版.ilk
文件 24210 2010-06-25 14:59 07\新建文件夹\Debug\MFC绘图版.obj
文件 7210988 2010-06-25 14:59 07\新建文件夹\Debug\MFC绘图版.pch
文件 582656 2010-06-25 14:59 07\新建文件夹\Debug\MFC绘图版.pdb
文件 490852 2009-12-22 13:50 07\新建文件夹\Debug\MFC绘图版.res
文件 0 2010-06-25 14:59 07\新建文件夹\Debug\MFC绘图版.sbr
文件 28230 2010-06-25 14:59 07\新建文件夹\Debug\MFC绘图版Doc.obj
文件 25600 2009-01-08 12:58 07\新建文件夹\Debug\MFC绘图版Doc.pdb
文件 0 2010-06-25 14:59 07\新建文件夹\Debug\MFC绘图版Doc.sbr
文件 89452 2010-06-25 14:59 07\新建文件夹\Debug\MFC绘图版View.obj
文件 25600 2009-01-08 12:58 07\新建文件夹\Debug\MFC绘图版View.pdb
文件 0 2010-06-25 14:59 07\新建文件夹\Debug\MFC绘图版View.sbr
文件 13032 2010-06-25 14:59 07\新建文件夹\Debug\SettingDlg.obj
文件 0 2010-06-25 14:59 07\新建文件夹\Debug\SettingDlg.sbr
文件 21489 2010-06-25 14:59 07\新建文件夹\Debug\Splash.obj
文件 0 2010-06-25 14:59 07\新建文件夹\Debug\Splash.sbr
文件 105968 2010-06-25 14:59 07\新建文件夹\Debug\StdAfx.obj
文件 1371747 2010-06-25 14:59 07\新建文件夹\Debug\StdAfx.sbr
文件 32210 2010-06-25 14:59 07\新建文件夹\Debug\Stroke.obj
文件 0 2010-06-25 14:59 07\新建文件夹\Debug\Stroke.sbr
文件 386048 2010-06-25 15:52 07\新建文件夹\Debug\vc60.idb
文件 397312 2010-06-25 14:59 07\新建文件夹\Debug\vc60.pdb
文件 3604 2009-01-08 12:58 07\新建文件夹\Graph.cpp
............此处省略52个文件信息
评论
共有 条评论