📄 cdrawlineview.cpp
字号:
// CDrawLineView.cpp : implementation of the CCDrawLineView class
//
#include "stdafx.h"
#include "CDrawLine.h"
#include "CDrawLineDoc.h"
#include "CDrawLineView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CCDrawLineView
IMPLEMENT_DYNCREATE(CCDrawLineView, CView)
BEGIN_MESSAGE_MAP(CCDrawLineView, CView)
//{{AFX_MSG_MAP(CCDrawLineView)
ON_COMMAND(ID_MENURECTANGLE, OnMenurectangle)
ON_COMMAND(ID_MENUPIE, OnMenupie)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCDrawLineView construction/destruction
CCDrawLineView::CCDrawLineView()
{
// TODO: add construction code here
testGraph=NULL;
graphComplete=TRUE;
}
CCDrawLineView::~CCDrawLineView()
{
}
BOOL CCDrawLineView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CCDrawLineView drawing
void CCDrawLineView::OnDraw(CDC* pDC)
{
CCDrawLineDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
if( graphComplete==TRUE)
{
if(testGraph !=NULL)
{
delete testGraph ;
testGraph =NULL;
}
testGraph = new CGraph(1,1);
testGraph->SetGraphTitle("个股行情");//Line Graph
testGraph->SetTickSpace(70);
testGraph->SetTickRange(300);
testGraph->SetXAxisAlignment(0);
testGraph->SetXAxisLabel("时间(:年)");//Games
testGraph->SetYAxisLabel("股价(单价:元)");//Scores
//绘图
CGraphSeries::AddLineTitle(0,"东风汽车");
CGraphSeries::AddLineTitle(1,"兰州黄河");
CGraphSeries::AddLineTitle(2,"四川长虹");
CGraphSeries* series1 = new CGraphSeries();
CGraphSeries* series2 = new CGraphSeries();
CGraphSeries* series3 = new CGraphSeries();
series1->SetLabel("九八");
series2->SetLabel("九九");
series3->SetLabel("二○○○");
series1->SetData(0, 150);
series1->SetData(1, 202);
series1->SetData(2, 230);
series2->SetData(0, 199);
series2->SetData(1, 140);
series2->SetData(2, 279);
series3->SetData(0, 240);
series3->SetData(1, 264);
series3->SetData(2, 230);
testGraph->AddSeries(series1);
testGraph->AddSeries(series2);
testGraph->AddSeries(series3);
//创建图例
testGraph->SetLegend(0, "1:东风 ");
testGraph->SetLegend(1, "2:黄河 ");
testGraph->SetLegend(2, "3:长虹 ");
}
testGraph->DrawGraph(pDC);
}
/////////////////////////////////////////////////////////////////////////////
// CCDrawLineView diagnostics
#ifdef _DEBUG
void CCDrawLineView::AssertValid() const
{
CView::AssertValid();
}
void CCDrawLineView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
CCDrawLineDoc* CCDrawLineView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CCDrawLineDoc)));
return (CCDrawLineDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CCDrawLineView message handlers
void CCDrawLineView::OnMenurectangle()
{
// TODO: Add your command handler code here
if(testGraph !=NULL)
{
delete testGraph ;
testGraph =NULL;
}
testGraph = new CGraph(0,1);
testGraph->SetGraphTitle("直方图");//Bar Chart
testGraph->SetTickSpace(3000);
testGraph->SetTickRange(30000);
testGraph->SetXAxisAlignment(0);
testGraph->SetXAxisLabel("工程");//Games
testGraph->SetYAxisLabel("数据");//Scores
//绘图
CGraphSeries* series1 = new CGraphSeries();
CGraphSeries* series2 = new CGraphSeries();
CGraphSeries* series3 = new CGraphSeries();
series1->SetLabel("时期1");
series2->SetLabel("时期2");
series3->SetLabel("时期3");
series1->SetData(0, 15000);
series1->SetData(1, 202000);
series1->SetData(2, 230000);
series1->SetData(3, 185000);
series1->SetData(4, 198000);
series1->SetData(5, 2340);
series1->SetData(6, 17000);
series1->SetData(7, 19000);
series1->SetData(8, 18800);
series1->SetData(9, 2090);
series2->SetData(0, 19900);
series2->SetData(1, 14000);
series2->SetData(2, 2790);
series3->SetData(0, 2040);
series3->SetData(1, 2210);
series3->SetData(2, 2080);
testGraph->AddSeries(series1);
testGraph->AddSeries(series2);
testGraph->AddSeries(series3);
//创建图例
testGraph->SetLegend(0, "1项目 ");
testGraph->SetLegend(1, "2项目 ");
testGraph->SetLegend(2, "3项目 ");
testGraph->SetLegend(3, "4项目 ");
testGraph->SetLegend(4, "5项目");
testGraph->SetLegend(5, "6项目 ");
testGraph->SetLegend(6, "7项目 ");
testGraph->SetLegend(7, "8项目 ");
testGraph->SetLegend(8, "9项目 ");
testGraph->SetLegend(9, "10项目 ");
graphComplete = !graphComplete;
Invalidate(TRUE);
}
void CCDrawLineView::OnMenupie()
{
// TODO: Add your command handler code here
if(testGraph !=NULL)
{
delete testGraph ;
testGraph =NULL;
}
{
// TODO: Add your command handler code here
testGraph = new CGraph(2);
testGraph->SetGraphTitle("饼图");//Pie Chart
//创建图例
testGraph->SetLegend(0, "1项目 ");
testGraph->SetLegend(1, "2项目 ");
testGraph->SetLegend(2, "3项目 ");
testGraph->SetLegend(3, "4项目 ");
testGraph->SetLegend(4, "5项目 ");
testGraph->SetLegend(5, "6项目 ");
testGraph->SetLegend(6, "7项目 ");
testGraph->SetLegend(7, "8项目 ");
testGraph->SetLegend(8, "9项目");
testGraph->SetLegend(9, "10项目 ");
//绘图
CGraphSeries* series1 = new CGraphSeries();
CGraphSeries* series2 = new CGraphSeries();
CGraphSeries* series3 = new CGraphSeries();
series1->SetLabel("时期 1");
series2->SetLabel("时期 2");
series3->SetLabel("时期 3");
series1->SetData(0, 15);
series1->SetData(1, 5);
series1->SetData(2, 2);
series1->SetData(3, 8);
series1->SetData(4, 30);
series1->SetData(5, 6);
series1->SetData(6, 7);
series1->SetData(7, 9);
series1->SetData(8, 8);
series1->SetData(9, 10);
series2->SetData(0, 15);
series2->SetData(1, 15);
series2->SetData(2, 15);
series3->SetData(0, 10);
series3->SetData(1, 20);
series3->SetData(2, 30);
series3->SetData(3, 40);
series3->SetData(4, 50);
testGraph->AddSeries(series1);
testGraph->AddSeries(series2);
testGraph->AddSeries(series3);
graphComplete = !graphComplete;
Invalidate(TRUE);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -