• 大小: 5.02MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-01
  • 语言: C/C++
  • 标签:

资源简介

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个文件信息

评论

共有 条评论

相关资源