![]() |
Re: Rechteck zeichnen
Ok, jetzt bin ich schon mal wieder ein Stück weiter aber es klappt nicht. Mein Code jetzt ist:
Delphi-Quellcode:
procedure TForm16.FormCreate(Sender: TObject);
begin image1.canvas.Pen.mode :=pmNotXor; image1.canvas.pen.style:= psDot; //Gepunktete Linien image1.canvas.pen.color:=clRed; end; procedure TForm16.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Image1.canvas.brush.style :=bsClear; //Für transparentes Quadrat if shift = [ssleft] then //Zeichnen mit linker Maustaste begin x1 := x; y1 := y; rec := Rect(x1, y1, x2, y2); Image1.Canvas.DrawFocusRect(Rec); end; if shift =[ssright] then //Quadrat löschen mit rechter Maustaste image1.canvas.rectangle(x1,y1,x2,y2); end; procedure TForm16.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if shift = [ssleft] then begin Image1.Canvas.DrawFocusRect(Rec); x2 := x; y2 := y; //Quadrat durch X-Verschiebung der Maus rec := Rect(x1, y1, x2, y2); Image1.Canvas.DrawFocusRect(Rec); end; end; Wenn ich jetzt aber ein Rechteck zeichnen will dann sehe ich nur Steifen im Bilder mehr nicht. |
Re: Rechteck zeichnen
Debug durch und schau Dir mal die Werte an, die gezeichnet werden.
|
Re: Rechteck zeichnen
vielleicht hilft dir diese Klasse von mir weiter...dort wird ein Rechteck "gezogen":
![]() HTH Frank |
Re: Rechteck zeichnen
HI,
was macht denn bitte DrawFocusRect?? Delphi-Hilfe Die Methode DrawFocusRect zeichnet ein Rechteck, wie es normalerweise fokussierte Objekte umgibt. Um ein Rechteck zu zeichnen, würde ich den Aufruf von .Rectangle(Rect) verwenden. !Achtung! .Rechtangle ist eine überladene Funktion, die 1. mit 4 Integern aufgerufen werden kann und 2. mit einem Rechteck aufgerufen werden kann. Da Windows nur mit 4 Integer-Punkten arbeiten kann, wird intern die .Rectangle (1) aufgerufen. Zu deinem Problem: Zitat:
Rect.Bottom, Rect.Left und Rect.Right gibts da. Dies kann man dann in der richtigen Reihenfolge eingeben. Bernhard |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz