AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Rechteck zeichnen

Ein Thema von Larsi · begonnen am 19. Jul 2008 · letzter Beitrag vom 19. Jul 2008
Antwort Antwort
Seite 2 von 2     12
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#11

Re: Rechteck zeichnen

  Alt 19. Jul 2008, 17:18
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.
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#12

Re: Rechteck zeichnen

  Alt 19. Jul 2008, 17:20
Debug durch und schau Dir mal die Werte an, die gezeichnet werden.
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#13

Re: Rechteck zeichnen

  Alt 19. Jul 2008, 17:51
vielleicht hilft dir diese Klasse von mir weiter...dort wird ein Rechteck "gezogen":
http://www.delphipraxis.net/internal...=909362#909362

HTH Frank
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#14

Re: Rechteck zeichnen

  Alt 19. Jul 2008, 22:41
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 von Larsi:
Kann ich einfach sagen Image1.Canvas.Rec(p1, p2, p3, p4) oder wie macht man das?
Rect.Top,
Rect.Bottom,
Rect.Left
und Rect.Right gibts da. Dies kann man dann in der richtigen Reihenfolge eingeben.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf