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 Horizontalen und Verikalen Strich mit TShape erzeugen (https://www.delphipraxis.net/82831-horizontalen-und-verikalen-strich-mit-tshape-erzeugen.html)

Helmi 20. Dez 2006 11:11


Horizontalen und Verikalen Strich mit TShape erzeugen
 
Hallo,

mit diesem Code erzeug ich zur Laufzeit ein Rechteck:
Delphi-Quellcode:
                //Rect erzeugen
                Dummy_Rect := TShape.Create(Mask);
                with Dummy_Rect do
                  begin
                    //feste Werte
                    Parent     := Mask;
                    Enabled    := true;
                    Visible    := true;
                    Brush.Style := bsClear;

                    //variable Werte
                    Name       := S_Name;
                    Left       := StrToIntDef(Liste.Values['Left'], 0);
                    Top        := StrToIntDef(Liste.Values['Top'], 0);
                    Width      := StrToIntDef(Liste.Values['Width'], 0);
                    Height     := StrToIntDef(Liste.Values['Height'], 0);
                    Pen.Color  := ComponentColor(Liste.Values['Color']);
                    Pen.Width  := StrToIntDef(Liste.Values['PenWidth'], 1);
                  end;
soweit so gut.

Nun wollte ich einen Horizontalen und Vertikalen Strich zeichnen.
ich dachte ich könnte das auch mit einem TShape machen und bräuchte nur Width bzw. Height auf 1 setzen.
Das geht auch - nur wenn ich Pen.Width verändere, dann bleibt die sichtbare Strichstärke auf 1, da Width bzw. Height auf 1 steht.

[Edit]
Wenn ich nun Width bzw. Height mit verändere, kann es passieren, dass ich die doppelte Pen.Width habe
[/Edit]

Weiss jemand wie ich einen Strich erzeugen kann, der vertikal bzw. horizontal ist und eine einstellbare Strichstärke hat?
Es müsste aber eine Komponente sein, also kein Canvas....

Vielleicht geht es ja mit einem TShape nur weiss ich jetzt nicht wie ich das einstellen muss.

marabu 20. Dez 2006 11:55

Re: Horizontalen und Verikalen Strich mit TShape erzeugen
 
Hallo,

vielleicht kannst du ja TSplitter mit Align = alNone für deine Zwecke missbrauchen. Sicherheitshalber würde ich noch ein paar andere Eigenschaften prüfen.

Freundliche Grüße

Helmi 20. Dez 2006 17:41

Re: Horizontalen und Verikalen Strich mit TShape erzeugen
 
ein Tsplitter war genau das richtige

Danke

Robert Marquardt 20. Dez 2006 17:58

Re: Horizontalen und Verikalen Strich mit TShape erzeugen
 
Will man Trennlinien haben, so eignet sich ein TBevel. Da kann man allerdings die Linienstaerke nicht einstellen.
Ein TSplitter aendert den Cursor. Das koennte unpassend sein.

Helmi 20. Dez 2006 18:14

Re: Horizontalen und Verikalen Strich mit TShape erzeugen
 
Zitat:

Zitat von Robert Marquardt
Ein TSplitter aendert den Cursor. Das koennte unpassend sein.

Danke für den Hinweis!

Habs jetzt so gemacht:
Delphi-Quellcode:
Cursor     := crDefault;
dann gehts


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:28 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