Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Aus TRect Integer-Werte auslesen


eniac - So 18.07.04 18:59
Titel: Aus TRect Integer-Werte auslesen
Servus,


hab folgendes Problem:
Mir liegen die Informationen eines Rechtecks in Form einer TRect-Variable "Rect" vor.
Einen ausgefüllten Kasten zeichne ich dann mit:

Canvas.FillRect(Rect);

Meine Frage ist: Wie kann ich einen schwarzen Rahmen um das Ding kriegen?

Ich vermute mal man muss erst die reinen Integer-Werte aus der TRect-Variable auslesen; dann geht das ganze ja mit:

Canvas.Rectangle(x1,y1,x2,y2);

Kennt jemand eine Prozedur/Funktion mit der das geht???
Andere Lösungsansetze sind natürlich auch erwünscht!!! :wink:


Scon mal Danke im Voraus


raziel - So 18.07.04 19:02
Titel: Re: Aus TRect Integer-Werte auslesen
:welcome:

Verstehe ich dich richtig, Du willst einfach nur die Eckpunkt-Daten aus dem TRect auslesen? Das geht ganz einfach mit

Delphi-Quelltext
1:
2:
3:
4:
x := rec.Left;
y := rec.Top;
width := rec.Width;
height := rec.Height;

Zusätzlich gibts noch die beiden Point-Werte TopLeft und BottomRight.
Einfach mal die Delphi-Hilfe anwerfen... ;-)

raziel


Muetze1 - So 18.07.04 19:55

Moin!

Width und Height sind erst ab IMHO Delphi 6 mit dabei, vorher muss man die sich selbst berechnen. Ansonsten einen Rahmen der also grösser ist als das rec ? Kein Problem:


Delphi-Quelltext
1:
2:
3:
4:
  InflateRect(rec, +2, +2);
  OffsetRect(rec, -1, -1);

  // Hier kannst du dann rec malen in blau...


MfG
Muetze1

Moderiert von user profile iconTino: Code- durch Delphi-Tags ersetzt.


sourcehunter - So 18.07.04 21:18

In Delphi 7 gibts auch eine Funktion Rectangle, die mit einem TRect funzt. Dann bracuhst du nur noch die Füllfarbe auf den Brush und Die Rahmen Farbe auf den Pen legen und los gehts.


eniac - Mo 19.07.04 15:24

Ich hab zwar leider noch kein Delphi 7, aber mit .Left/ .Top/ ... funzt es bei mir auch. :idea: Danke für die schnelle Hilfe euch allen.

bye bye