📄 clusteringview.cpp
字号:
// ClusteringView.cpp : implementation of the CClusteringView class
//
#include "stdafx.h"
#include "Clustering.h"
#include "ClusteringDoc.h"
#include "ClusteringView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CClusteringView
IMPLEMENT_DYNCREATE(CClusteringView, CView)
BEGIN_MESSAGE_MAP(CClusteringView, CView)
//{{AFX_MSG_MAP(CClusteringView)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
ON_MESSAGE(WM_SHOWRESULT,OnShowResult)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CClusteringView construction/destruction
CClusteringView::CClusteringView()
{
// TODO: add construction code here
m_Flag=false;
}
CClusteringView::~CClusteringView()
{
}
BOOL CClusteringView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CClusteringView drawing
void CClusteringView::OnDraw(CDC* pDC)
{
CClusteringDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
//坐标轴
pDC->MoveTo(30,400);
pDC->LineTo(700,400);
pDC->MoveTo(50,40);
pDC->LineTo(50,430);
pDC->MoveTo(690,390);
pDC->LineTo(700,400);
pDC->MoveTo(690,410);
pDC->LineTo(700,400);
pDC->MoveTo(40,50);
pDC->LineTo(50,40);
pDC->MoveTo(60,50);
pDC->LineTo(50,40);
pDC->MoveTo(80,397);
pDC->LineTo(80,400);
pDC->MoveTo(110,397);
pDC->LineTo(110,400);
pDC->MoveTo(140,397);
pDC->LineTo(140,400);
pDC->MoveTo(170,397);
pDC->LineTo(170,400);
pDC->MoveTo(200,397);
pDC->LineTo(200,400);
pDC->MoveTo(230,397);
pDC->LineTo(230,400);
pDC->MoveTo(260,397);
pDC->LineTo(260,400);
pDC->MoveTo(290,397);
pDC->LineTo(290,400);
pDC->MoveTo(320,397);
pDC->LineTo(320,400);
pDC->MoveTo(350,397);
pDC->LineTo(350,400);
pDC->MoveTo(380,397);
pDC->LineTo(380,400);
pDC->MoveTo(410,397);
pDC->LineTo(410,400);
pDC->MoveTo(440,397);
pDC->LineTo(440,400);
pDC->MoveTo(470,397);
pDC->LineTo(470,400);
pDC->MoveTo(500,397);
pDC->LineTo(500,400);
pDC->MoveTo(530,397);
pDC->LineTo(530,400);
pDC->MoveTo(560,397);
pDC->LineTo(560,400);
pDC->MoveTo(590,397);
pDC->LineTo(590,400);
pDC->MoveTo(620,397);
pDC->LineTo(620,400);
pDC->MoveTo(53,370);
pDC->LineTo(50,370);
pDC->MoveTo(53,340);
pDC->LineTo(50,340);
pDC->MoveTo(53,310);
pDC->LineTo(50,310);
pDC->MoveTo(53,280);
pDC->LineTo(50,280);
pDC->MoveTo(53,250);
pDC->LineTo(50,250);
pDC->MoveTo(53,220);
pDC->LineTo(50,220);
pDC->MoveTo(53,190);
pDC->LineTo(50,190);
pDC->MoveTo(53,160);
pDC->LineTo(50,160);
pDC->MoveTo(53,130);
pDC->LineTo(50,130);
pDC->MoveTo(53,100);
pDC->LineTo(50,100);
pDC->TextOut(77,405,"1");
pDC->TextOut(107,405,"2");
pDC->TextOut(137,405,"3");
pDC->TextOut(167,405,"4");
pDC->TextOut(197,405,"5");
pDC->TextOut(227,405,"6");
pDC->TextOut(257,405,"7");
pDC->TextOut(287,405,"8");
pDC->TextOut(317,405,"9");
pDC->TextOut(347,405,"10");
pDC->TextOut(377,405,"11");
pDC->TextOut(407,405,"12");
pDC->TextOut(437,405,"13");
pDC->TextOut(467,405,"14");
pDC->TextOut(497,405,"15");
pDC->TextOut(527,405,"16");
pDC->TextOut(557,405,"17");
pDC->TextOut(587,405,"18");
pDC->TextOut(617,405,"19");
pDC->TextOut(40,364,"1");
pDC->TextOut(40,334,"2");
pDC->TextOut(40,304,"3");
pDC->TextOut(40,274,"4");
pDC->TextOut(40,244,"5");
pDC->TextOut(40,214,"6");
pDC->TextOut(40,184,"7");
pDC->TextOut(40,154,"8");
pDC->TextOut(40,124,"9");
pDC->TextOut(33,94,"10");
pDC->TextOut(40,405,"0");
//坐标点
if(m_Flag==true)
{
for(int i=0;i<m_pMain->patternnum;i++)
{
char buffer[10];
itoa(m_pMain->m_pattern[i].category,buffer,5);
CString temp(buffer);
pDC->MoveTo((50+30*m_pMain->m_Point[i].x),(400-30*m_pMain->m_Point[i].y));
pDC->LineTo((50+30*m_pMain->m_Point[i].x+3),(400-30*m_pMain->m_Point[i].y));
pDC->TextOut((50+30*m_pMain->m_Point[i].x+3),(400-30*m_pMain->m_Point[i].y),temp);
}
}
}
/////////////////////////////////////////////////////////////////////////////
// CClusteringView printing
BOOL CClusteringView::OnPreparePrinting(CPrintInfo* pInfo)
{
// default preparation
return DoPreparePrinting(pInfo);
}
void CClusteringView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add extra initialization before printing
}
void CClusteringView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add cleanup after printing
}
/////////////////////////////////////////////////////////////////////////////
// CClusteringView diagnostics
#ifdef _DEBUG
void CClusteringView::AssertValid() const
{
CView::AssertValid();
}
void CClusteringView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
CClusteringDoc* CClusteringView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CClusteringDoc)));
return (CClusteringDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CClusteringView message handlers
LRESULT CClusteringView::OnShowResult(WPARAM wP,LPARAM lP)
{
m_pMain=(CMainFrame *)AfxGetApp()->m_pMainWnd;
m_Flag=true;
this->Invalidate();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -