Einzelnen Beitrag anzeigen

Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#11

Re: canvas.rahmen.aufziehen.laufzeit = wie.aufziehen.entwick

  Alt 16. Nov 2003, 21:12
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
  Mit Zitat antworten Zitat