firstline.cpp

来自「电子画图板」· C++ 代码 · 共 64 行

CPP
64
字号
//直线FirstLine类 
//FirstLine.cpp

//包含的头文件
#include "stdafx.h"
//#include "shape.h"
#include "Coordinate.h"
#include "Shape.h"
#include "FirstLine.h"

//类实现
IMPLEMENT_SERIAL(FirstLine,Shape,1)

FirstLine::FirstLine(){
	a=0.0;
	b=0.0;
	expression.Format("y=%1.2lf*x+%1.2lf",a,b);
}

FirstLine::FirstLine(double a,double b){
	this->a=a;
	this->b=b;
	expression.Format("y=%1.2lf*x+%1.2lf",a,b);
}

FirstLine::~FirstLine(){

}

void FirstLine::drawShape(CDC *pDC,Coordinate co){	//画直线
	// To draw line

	CPoint startPoint;
	CPoint endPoint;

	double x1,y1,x2,y2;
	
	//其中一个点(x1,y1)
	x1=-100.0;
	y1=a*x1+b;
	
	//另一个点(x2,y2)
	x2=100.0;		
	y2=a*x2+b;

	startPoint=co.getTrueAxis(x1,y1);	//坐标转换,由将(x1,y1)实际坐标系的坐标转换为视图区的坐标
	endPoint=co.getTrueAxis(x2,y2);		//坐标转换,由将(x2,y2)实际坐标系的坐标转换为视图区的坐标

	//从点(x1,y1)画直线至(x2,y2)
	pDC->MoveTo(startPoint);		
	pDC->LineTo(endPoint);
}

void FirstLine::Serialize(CArchive &ar){	//串行化
	Shape::Serialize(ar);
	if(ar.IsStoring()){
		//storing
		ar <<a<<b;
	}
	else{
		//loading
		ar >>a>>b;
	}
}

⌨️ 快捷键说明

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