ein waagerechter Strich

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
malabarista
Beiträge: 321
Registriert: Sa 11. Jun 2016, 12:16
OS, Lazarus, FPC: Linux Mint 18.1 L1.6.2-1 FPC 3.0.0
CPU-Target: 64Bit
Wohnort: Konstanz

ein waagerechter Strich

Beitrag von malabarista »

Ich möchte einfach einen waagerechten Strich ziehen innerhalb eines Formulars, habe aber kein geeignetes Control gefunden...
Der Strich soll lediglich optisch einige Eingabefelder etwas voneinander trennen, damit es für den Bediener übersichtlicher wird.

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: ein waagerechter Strich

Beitrag von theo »

Eigentlich gruppiert man z.B. mit einer TGroupBox.
Aber einen Strich kann man z.B. mit einer TPaintBox im OnPaint zeichnen.

Auf dem Bild siehst du oben die Groupbox und unten die PaintBox.
Dateianhänge
lazpb.png

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2639
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: ein waagerechter Strich

Beitrag von m.fuchs »

Da gibt es auf der Komponentenseite Additional zum Beispiel zwei Möglichkeiten:

  1. TBevel - die Property Shape sollte auf bsTopLine gesetzt werden
  2. TShape - die Property Shape auf stRectangle und Height auf 1 setzen
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

malabarista
Beiträge: 321
Registriert: Sa 11. Jun 2016, 12:16
OS, Lazarus, FPC: Linux Mint 18.1 L1.6.2-1 FPC 3.0.0
CPU-Target: 64Bit
Wohnort: Konstanz

Re: ein waagerechter Strich

Beitrag von malabarista »

Ja, TShape macht sich gut mit diesen Einstellungen.

siro
Beiträge: 731
Registriert: Di 23. Aug 2016, 14:25
OS, Lazarus, FPC: Windows 11
CPU-Target: 64Bit
Wohnort: Berlin

Re: ein waagerechter Strich

Beitrag von siro »

Du kannst auch nach Herzenslust direkt auf einem Formular zeichnen

Dazu bei Ereignisse von deinem Formular auf OnPaint doppelklicken
und zum Beispiel folgenden Code eingeben:

Code: Alles auswählen

procedure TForm1.FormPaint(Sender: TObject);
const LinienPos = 73;        { die Position der Linie }
begin
  canvas.MoveTo(0,LinienPos);                 { Starpunkt stezen }
  canvas.LineTo(ClientWidth,LinienPos);   { Linie zeichnen }
end;
 


Diese Zeichenoperationen siehst Du dann aber leider erst nach dem Starten des Programm, daher ist die Bevel / Shape Variante sicherlich sinnvoller.
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...

Mathias
Beiträge: 6193
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: ein waagerechter Strich

Beitrag von Mathias »

Ich ziehe für solche Sachen auch die OnPaint - Variante vor. Es ist die flexibelste von allen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten