计算机图形学cpoint类,计算机图形学

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………

// tuxingView.cpp : CtuxingView 类的实现

//

#include "stdafx.h"

#include "tuxing.h"

#include "tuxingDoc.h"

#include "tuxingView.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#endif

// CtuxingView

IMPLEMENT_DYNCREATE(CtuxingView, CView)

BEGIN_MESSAGE_MAP(CtuxingView, CView)

// 标准打印命令

ON_COMMAND(ID_FILE_PRINT, &CView::OnFilePrint)

ON_COMMAND(ID_FILE_PRINT_DIRECT, &CView::OnFilePrint)

ON_COMMAND(ID_FILE_PRINT_PREVIEW, &CView::OnFilePrintPreview)

ON_WM_LBUTTONDOWN()

ON_WM_RBUTTONDOWN()

END_MESSAGE_MAP()

// CtuxingView 构造/析构

CtuxingView::CtuxingView()

{

// TODO: 在此处添加构造代码

}

CtuxingView::~CtuxingView()

{

}

BOOL CtuxingView::PreCreateWindow(CREATESTRUCT& cs)

{

// TODO: 在此处通过修改

// CREATESTRUCT cs 来修改窗口类或样式

return CView::PreCreateWindow(cs);

}

// CtuxingView 绘制

void CtuxingView::OnDraw(CDC* pDC)

{

CtuxingDoc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

if (!pDoc)

return;

drawborder();

// TODO: 在此处为本机数据添加绘制代码

}

// CtuxingView 打印

BOOL CtuxingView::OnPreparePrinting(CPrintInfo* pInfo)

{

// 默认准备

return DoPreparePrinting(pInfo);

}

void CtuxingView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)

{

// TODO: 添加额外的打印前进行的初始化过程

}

void CtuxingView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)

{

// TODO: 添加打印后进行的清除过程

}

// CtuxingView 诊断

#ifdef _DEBUG

void CtuxingView::AssertValid() const

{

CView::AssertValid();

}

void CtuxingView::Dump(CDumpContext& dc) const

{

CView::Dump(dc);

}

CtuxingDoc* CtuxingView::GetDocument() const // 非调试版本是内联的

{

ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CtuxingDoc)));

return (CtuxingDoc*)m_pDocument;

}

#endif //_DEBUG

// CtuxingView 消息处理程序

int CtuxingView::i=0;

int CtuxingView::ist=1;

void CtuxingView::OnLButtonDown(UINT nFlags, CPoint point)

{

// TODO: 在此添加消息处理程序代码和/或调用默认值

CView::OnLButtonDown(nFlags, point);

drawborder();

drawgraph(point);

}

void CtuxingView::OnRButtonDown(UINT nFlags, CPoint point)

{

// TODO: 在此添加消息处理程序代码和/或调用默认值

CView::OnRButtonDown(nFlags, point);

drawright();

}

void CtuxingView::drawborder()

{

CClientDC dc(this);

CPen newpen(PS_SOLID,1,RGB(150,150,150));

CPen * oldpen=dc.SelectObject(&newpen);

dc.MoveTo(300,100);

dc.LineTo(400,100);

dc.LineTo(400,200);

dc.LineTo(300,200);

dc.LineTo(300,100);

}

void CtuxingView::drawgraph(CPoint point)

{

if(ist)

{

p[i].x=point.x;

p[i].y=point.y;

CClientDC dc(this);

CPen newpen(PS_SOLID,2,RGB(255,0,0));

CPen * oldpen=dc.SelectObject(&newpen);

if(i==0)

dc.MoveTo(p[i].x,p[i].y);

else

dc.MoveTo(p[i-1].x,p[i-1].y);

dc.LineTo(p[i].x,p[i].y);

i++;

}

}

void CtuxingView::drawright()

{

CClientDC dc(this);

CPen newpen(PS_SOLID,2,RGB(255,0,0));

CPen * oldpen=dc.SelectObject(&newpen);

dc.MoveTo(p[0].x,p[0].y);

dc.LineTo(p[i-1].x,p[i-1].y);

ist=0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值