Hi. Hab meinen Ursprüunglichen Source mit dem OnMouseMove noch etwas erweitert. Du müsstest ihn halt für dich anpassen. (unter Anderem können die Panels nicht gezeichnet werden, wenn der ausgangspunkt größer ist als der Endpunkt) Aber du sagtest ja, dass ist nicht das Problem.
Ich hätte das folgendermaßen gelöst:
Delphi-Quellcode:
var xm,ym : Integer;
begin
IF IsMouseDown = true THEN
begin
With Form1.Canvas do
begin
Pen.Color := clbtnface;
Pen.Style := pssolid;
Rectangle(xk,yk,xm,ym);
Brush.Color := clbtnface;
Rectangle(0,0,Width,Height);
Pen.Color := clblack;
Pen.Style := psDot;
Rectangle(xk,yk,x,y);
end;
end;
xm := x;
ym := y;
end;
Im Endeffekt mach ich nix anderes, als jedes mal einen gestrichelten Rahmen (psdot) gezeichnet und das Canvas wieder neu zu übermalen, so dass die alten Rahmen nicht mehr da sind. Funzt natürlich nur mit einfarbigem Hintergrund
Man liest sich, Stanlay