Hi,
ich versuche im Moment ein Rechteck namens Rec vom Typ TRect auf ein Image zu bekommen. Mein Ansatz lautet so:
Delphi-Quellcode:
procedure TForm16.FormCreate(Sender: TObject);
begin
image1.canvas.Pen.mode :=pmNotXor;
image1.canvas.pen.style:= psDot;
image1.canvas.pen.color:=clRed;
end;
Delphi-Quellcode:
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image1.canvas.brush.style :=bsClear;
if shift = [ssleft] then
begin
x1 := x;
y1 := y;
Cut.TopLeft.X := x1;
Rec.TopLeft.Y := y1;
Rec.BottomRight.X := x2;
Rec.BottomRight.Y := y2;
Image1.Canvas.DrawFocusRect(Rec);
end;
end;
Delphi-Quellcode:
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if shift = [ssleft] then begin
x2 := x;
y2 := y;
Rec.TopLeft.X := x1;
Rec.TopLeft.Y := y1;
Rec.BottomRight.X := x2;
Rec.BottomRight.Y := y2;
Image1.Canvas.DrawFocusRect(Rec);
end;
end;
Wenn ich das jetzt aber versuche, also Maus drücken und gedrückt bewegen und dann loslassen dann flackert das Image ein bisschen aber ein Rechteck ist nicht zu sehen. Was mache ich denn falsch? Muss ich dem Rec irgendwie eine Farbe zum zeichnen oder so zuweisen, und wenn ja, wie?
MFG Lars Wiltfang