📄 firstline.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 + -