Einzelnen Beitrag anzeigen

Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#8

Re: Cursor an Raster schnappen wie dieser Code ?

  Alt 5. Feb 2009, 10:25
mal fix zusammengetippt:
Delphi-Quellcode:
TForm1 = class(TForm)
...
  private
    { Private-Deklarationen }
    oldrect:Trect;
...
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
const
  gridwidth=10;
begin
  canvas.Pen.Mode:=pmXOR;
  canvas.Pen.color:=clBlue xor $FFFFFF; //xor damit die markierung auch wirklich blau wird
  canvas.Brush.Style:=bsClear; //keine füllung
  if oldrect.Left<>-1 then //altes Rechteck erst einmal löschen
  begin
    canvas.Rectangle(oldrect.left,oldrect.top,oldrect.right,oldrect.bottom);
  end;
  oldrect.left:=(x div gridwidth)*gridwidth;
  oldrect.top:=(y div gridwidth)*gridwidth;
  oldrect.Right:=oldrect.Left+gridwidth;
  oldrect.Bottom:=oldrect.Top+gridwidth;
  canvas.Rectangle(oldrect.left,oldrect.top,oldrect.right,oldrect.bottom);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  oldrect:=rect(-1,-1,-1,-1);
  cursor:=crNone;
end;
lässt sich evtl noch optimieren, aber ist ja nur ein beispiel.

Gruß Frank
  Mit Zitat antworten Zitat