Einzelnen Beitrag anzeigen

moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#1

MouseDown, ..Up, ..Move einer Klasse hinzufügen?

  Alt 14. Jun 2010, 12:50
Delphi-Version: 2010
Moin !

Ich habe da eine sehr primitive Klasse:
Delphi-Quellcode:
{$M+}
unit Recty;

interface

uses Classes, Graphics;

type
 TRecty = Class
   private
     FX, FY, // X, Y Position (Left Top)
     FW, FH : Integer; // Width, Height
     FScale : Double; // Scaling ...
     FCanvas : TCanvas;
   published
     constructor Create();

     procedure Draw;

     property X : Integer read FX write FX;
     property Y : Integer read FY write FY;
     property W : Integer read FW write FW;
     property H : Integer read FH write FH;
     property Scale : Double read FScale write FScale;
     property Canvas : TCanvas read FCanvas write FCanvas;
 end;

implementation

constructor TRecty.Create();
begin
  inherited;
  Scale := 1.0;
end;

procedure TRecty.Draw;
begin
  FCanvas.Rectangle(Trunc(X ),
                    Trunc(Y ),
                    Trunc((X+W) * Scale),
                    Trunc((Y+H) * Scale));
end;

end.
Ich würde gerne dieser Klasse Funktionen wie OnMouseMove, OnMouseDown, ... geben. Kann mir jemand einen Tip geben wie man das am besten anstellt?
Ich kann zwar in meinem Formular wo ich zeichne die entsprechenden Funktionen hinterlegen, aber ich fände es eleganter wenn das die Klasse (sofern das geht) selber übernimmt.
Ziel soll es erstmal sein, dass ich mit gedrückter Maustaste das Rechteck verschieben kann.
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat