Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Rahmen um ein Rechteck zeichnen (https://www.delphipraxis.net/56491-rahmen-um-ein-rechteck-zeichnen.html)

luckystar85 6. Nov 2005 18:11


Rahmen um ein Rechteck zeichnen
 
Moin, moin!!!

Ich zeichne mir ein Rechteckt mit:
Delphi-Quellcode:
Canvas.FillRect(Rect);
Das funzt auch wunderbar. Jetzt möchte ich darum nur noch einen Rahmen zeichnen. Mein Ansatz wäre bei 0,0 mit MoveTo jetzt nach links unten zu gehen denn weiter nach rechts unten und denn nach rechts oben und denn nach links oben. Also alle Seiten mit dem Stift abfahren und so den Rahmen zeichnen. Geht das noch irgendwie einfacher oder besser/schneller?

Luckie 6. Nov 2005 18:16

Re: Rahmen um ein Rechteck zeichnen
 
TCanvas kennt auch noch die Methode Delphi-Referenz durchsuchenRectangle mit der man ein Rechteck zeichnen kann.

Neutral General 6. Nov 2005 18:19

Re: Rahmen um ein Rechteck zeichnen
 
...Und mit Rectangle malst du dann ein großes Rechteck und dann ein kleines darein das nur 1px kleiner überall ist und dann hast du einen Rand.

luckystar85 6. Nov 2005 18:21

Re: Rahmen um ein Rechteck zeichnen
 
Ich habe es jetzt so gemacht:
Delphi-Quellcode:
Canvas.Pen.Color := clWhite;
Canvas.Brush.Color := clBtnFace;
Canvas.Rectangle(Rect);
Damit zeichne ich einen weissen Rahmen und der Rest wird Grau. So wie ich es will. Danke für die schnelle Hilfe.

Sharky 6. Nov 2005 18:23

Re: Rahmen um ein Rechteck zeichnen
 
Hai luckystar,

ich stelle jetzt mal die Frage: Wo möchtest Du das zeichnen und zu welchem Zweck?

Ich "hoffe" das Du nicht versuchst irgendein Steuerlement nachzubilden. Dafür bietet dir Windows doch genügend standartisierte Objekte.

Alles andere macht Dir nur arbeit und verwiert den Anwender.

luckystar85 6. Nov 2005 18:25

Re: Rahmen um ein Rechteck zeichnen
 
Nein ich will kein Steuerelement nachbilden. Ich wollte ein Rechteck haben, das eingerahmt ist und wo ich denn mit TextOut innerhalb des Rahmens einen Text schreiben kann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz