![]() |
Rechteck zeichnen
Hi,
mit folgendem Code kann man auf einer Form ein Quadrat zeichnen:
Delphi-Quellcode:
Meine Frage ist jetzt wie ich ein Rechteck zeichnen kann, bzw. was ich im Code umändern muss damit die gezeichnete Form nicht immer quadratisch ist?
procedure TForm1.FormCreate(Sender: TObject);
begin canvas.Pen.mode :=pmNotXor; canvas.pen.style:= psDot; //Gepunktete Linien canvas.pen.color:=clRed; end; procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin canvas.brush.style :=bsClear; //Für transparentes Quadrat if shift = [ssleft] then //Zeichnen mit linker Maustaste begin x1 := x; y1 := y; x2 := x; y2 := y; canvas.rectangle (x1,y1,x2,y2); end; if shift =[ssright] then //Quadrat löschen mit rechter Maustaste canvas.rectangle(x1,y1,x2,y2); end; procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if shift = [ssleft] then begin canvas.rectangle (x1,y1,x2,y2); x2 := x; y2 := y1+x-x1; //Quadrat durch X-Verschiebung der Maus canvas.rectangle (x1,y1,x2,y2); end end; Es soll so sein wie wenn man in Paint ein Rechteck zieht. MFG Lars Wiltfang |
Re: Rechteck zeichnen
Sollte gehen, setz vielleicht mal x2 und y2 anders als x1 und y1.
|
Re: Rechteck zeichnen
Zitat:
|
Re: Rechteck zeichnen
Zitat:
lösen z.b. so:
Delphi-Quellcode:
HTH Frank
x2 := x+50; y2 := y+50;
|
Re: Rechteck zeichnen
Kann mir nicht mal jemand sagen, wie ich den Code verändern muss damit das richtig klappt? Was soll das bringen 50 zu addieren?
|
Re: Rechteck zeichnen
Soche mal im Open Source Bereich nach "Mandelbrot". Da gibt's Anschaumaterial wie
man das macht. |
Re: Rechteck zeichnen
Zitat:
probiers doch einfach mal aus dann wirst du ja sehen was es bringt. |
Re: Rechteck zeichnen
Delphi-Quellcode:
Was glaubst du, was dieser Code macht? Wie wär's mal mit Hirn einschalten? :wall:
x2 := x; y2 := y1+x-x1; //Quadrat durch X-Verschiebung der Maus
|
Re: Rechteck zeichnen
Habs jetzt hinbekommen aber ich habe nochmal ne Frage: Ich habe bsps. das Recheckt: Rec:Trect deklariert, wie kann ich jetzt dieses Rechteck benutzen um zu zeichnen um später damit weiter zuporgrammieren?
Kann ich einfach sagen Image1.Canvas.Rec(p1, p2, p3, p4) oder wie macht man das? |
Re: Rechteck zeichnen
Du legst grad echt ein TD / Taktaky-Verhalten an den Tag :warn:
Schau Dir doch mal die Onlinehilfe zu TCanvas, TRect etc. an. Und wenn das nicht hilft und Du Google anschmeisst wirst Du sogar den einen oder anderen Thread hier in der DP zu diesen Schlagwörtern findern :roll: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:41 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