pointtool.cpp

来自「参数化车间设备资源绘制程序」· C++ 代码 · 共 76 行

CPP
76
字号
#include "StdAfx.h"
#include ".\pointtool.h"

#include "pointobj.h"
#include "visdrawview.h"
#include "visdrawdoc.h"

static CPointTool pointToolObj(pointTool);


CPointTool::CPointTool(void)
{
}

CPointTool::~CPointTool(void)
{
}

CPointTool::CPointTool(DrawShape drawShape)
	: CDrawTool(drawShape)
{
	pObj = NULL;
}

void CPointTool::OnLButtonDown(CVisDrawView* pView, UINT nFlags, const CPoint& point)
{
	CPoint local = point;

	double x, y;

	//把设备坐标转化为逻辑坐标
	pView->ClientToDoc(local);

	//把坐标转化为世界坐标
	pView->ClientToWorld(local,x,y);

	//申请与视图窗口相关的设备描述表
	CDC* dc=pView->GetDC();

    //用用笔的颜色绘图
	dc->SetROP2(R2_NOT);
	
	//选用空画刷
	dc->SelectStockObject(NULL_BRUSH);

	dc->SetPixel(point.x,point.y,RGB(255,255,255));

	pObj = new CPointObj(CRect(local, CSize(0, 0)));
	
	//把第一次按下的鼠标点设置矩形左上角
	pObj->SetPoint(x,y);
			
	pView->GetDocument()->Add(pObj);

	pView->ReleaseDC(dc);


}

void CPointTool::OnLButtonUp(CVisDrawView* pView, UINT nFlags, const CPoint& point)
{
}

void CPointTool::OnMouseMove(CVisDrawView* pView, UINT nFlags, const CPoint& point)
{
}

void CPointTool::OnLButtonDblClk(CVisDrawView* pView, UINT nFlags, const CPoint& point)
{
}

void CPointTool::CreateObj(CVisDrawView* pView, const CPoint& point)
{
	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?