-
大小: 5.02MB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2023-11-01
- 語言: C/C++
- 標(biāo)簽:
資源簡介
MFC繪圖板源代碼及設(shè)計報告、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

代碼片段和文件信息
//?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.在實現(xiàn)文件cpp中?使用宏定義DECLARE_SERIAL(?CGraphCobject1/*類的版本號*/)
IMPLEMENT_SERIAL(?CGraph?Cobject?1?)
CGraph::CGraph()
{
}
CGraph::CGraph(UINT?DrawIndexCPoint?FirstPointCPoint?SecondPointCOLORREF?colorUINT?LineWidthint?Linestyle)
{//5個參數(shù)的構(gòu)造函數(shù)
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的繪畫方法?根據(jù)m_DrawIndex的不同?調(diào)用不同的畫法
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;//設(shè)置有向箭頭的角度
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個文件信息
評論
共有 條評論