⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 firstline.cpp

📁 电子画图板
💻 CPP
字号:
//直线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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -