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

📄 shapes.pas

📁 《Kylix程序设计》一书中附带的例程源代码
💻 PAS
字号:
unit Shapes;interfaceuses  SysUtils, Classes, Types, QGraphics;type  TGeoShape = class( TObject )
  public
    procedure Draw( Canvas: TCanvas ); virtual; abstract;
  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 + -