📄 shapes.~pas
字号:
unit Shapes;interfaceuses SysUtils, Classes, Types, QGraphics;type TGeoShape = class( TObject )
public
procedure Draw( Canvas: TCanvas ); virtual;
end;
TGeoPoint = class( TGeoShape )
protected
FPoint: TPoint;
public
procedure SetValue( Point: TPoint );
procedure Draw( Canvas: TCanvas ); override;
end;
TGeoLine = class( TGeoPoint )
protected
FToPoint: TPoint;
public
procedure SetValue( FromPoint, ToPoint: TPoint ); overload;
procedure Draw( Canvas: TCanvas ); override;
end;
TGeoRect = class( TGeoShape )
protected
FRect: TRect;
public
procedure SetValue( Rect: TRect ); overload;
procedure Draw( Canvas: TCanvas ); override;
end;
{var Shape: TGeoShape; Point: TGeoPoint; Line: TGeoLine; Rect: TGeoRect;}implementation{ TGeoShape }procedure TGeoShape.Draw(Canvas: TCanvas);begin Canvas.TextOut( 200, 200, 'Do nothing.' );end;{ TGeoPoint }procedure TGeoPoint.SetValue(Point: TPoint);begin FPoint := Point;end;procedure TGeoPoint.Draw(Canvas: TCanvas);begin Canvas.DrawPoint( FPoint );end;{ TGeoLine }procedure TGeoLine.SetValue(FromPoint, ToPoint: TPoint);begin FPoint := FromPoint; FToPoint := ToPoint;end;procedure TGeoLine.Draw(Canvas: TCanvas);begin Canvas.MoveTo( FPoint.X, FPoint.Y ); Canvas.LineTo( FToPoint.X, FToPoint.Y );end;{ TGeoRect }procedure TGeoRect.Draw(Canvas: TCanvas);begin Canvas.Rectangle( FRect );end;procedure TGeoRect.SetValue(Rect: TRect);begin FRect := Rect;end;end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -