TLabel Zeilenabstand

Rund um die LCL und andere Komponenten
Antworten
MmVisual
Beiträge: 1468
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

TLabel Zeilenabstand

Beitrag von MmVisual »

Hallo,

Ich möchte per TLabel einen Kasten zeichnen und den über eine Grafik als "Zeiger" positionieren. Das klappt auch alles soweit super, auch Verschieben usw. geht.

Hier der Kasten im Label:
Label1.Caption := '┌┐'#10'└┘';

Nun ist das Problem, dass zwischen der oberen und unteren Zeile ein paar Pixel Abstand sind und somit der Kasten nicht verbunden ist, so wie hier:
┌┐
└┘

Wie kann ich den Abstand verkleinern / anpassen?

Grüße Markus.
EleLa - Elektronik Lagerverwaltung - www.elela.de

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

Re: TLabel Zeilenabstand

Beitrag von theo »

Kapier ich nicht. Wieso zeichnest du nicht einfach einen Kasten?

MmVisual
Beiträge: 1468
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Re: TLabel Zeilenabstand

Beitrag von MmVisual »

Beim selbst zeichnen muss ich mich immer um das aufräumen kümmern. In die Grafik will ich nicht rein zeichnen, denn dann müsste ich die doppelt speichern, da immer eine andere Position markiert werden soll.
Zudem ist das Bild von der Größe her viel kleiner gezeigt , so zwischen 10% ... 40% der Originalgröße und wenn ich jetzt da einen Kasten manuell rein zeichne, dann sieht das ganze auch nicht schön aus.

Deshalb lege ich einfach ein Label drüber. Visible True/False zum einblenden und Left/Top für Position und gut ist.

Das einzige ist der Abstand zwischen den Zeilen, wie kann ich den ändern :?:

Beispiel: Bei einer TListBox gibt es, glaube ich, ein ItemHeight mit dem man das Item definieren kann. So was suche ich für das TLabel.
EleLa - Elektronik Lagerverwaltung - www.elela.de

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

Re: TLabel Zeilenabstand

Beitrag von theo »

So meinte ich das auch nicht.
Zeichne dein Zeug auf eine TPaintBox oder ein TImage oder sowas. Das kannst du genau so rumschieben wie dein TLabel.

Wie du das vorhast, ist's auf jedenfall Murks. Das gilt auch für deine andere Frage.

Scotty
Beiträge: 768
Registriert: Mo 4. Mai 2009, 13:24
OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
CPU-Target: x86_64-linux-qt/gtk2
Kontaktdaten:

Re: TLabel Zeilenabstand

Beitrag von Scotty »

ASCII-Art lebt von solchen Abständen. Wenn es unbedingt sein muss, nimm zwei Label (Canvas.TextHeight für den Abstand), was allerdings nicht im Konsolenmodus ginge, oder benutze ein Symbol aus dem Zeichensatz wenn es um eine Art Checkbox für einen Fragebogen geht. Oder, wie Theo sagt, den Canvas. Aufräumen muss man Canvas.Rectangle() nicht.

PS: #10 ist vermutlich nicht immer ein gültiger line feed.

MmVisual
Beiträge: 1468
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Re: TLabel Zeilenabstand

Beitrag von MmVisual »

Ich habe mir gedacht, dass wenn ich einfach ein Label mit den Zeichen drin definiere, dann kann jeder selbst sein Kasten "schreiben" wie er mag. In den Fonts sind dafür extra solche Zeichen integriert, für Rahmen, sogar auch mit doppelten Linien usw. Und diese Zeichen gehen extra bis zum Rand des Zeichens, ohne Abstand und man kann somit relativ simpel malen.

Ich versuche das dennoch mal mit einem TImage, denn unter Linux sieht das ganze auch nicht exakt gleich aus als wie unter Windows.

Dennoch ist die andere Frage interessant, ich hatte schon öfter in meinem Programmiererleben das Problem von nicht vorhandenen Zeichen im Font.

PS: Sorry, ich frage immer wieder solche super sonder Spezialwüsche ...

Falls es jemand interessiert wie es mit dem Label aussieht, hier ein Bild:
http://www.mikrocontroller.net/topic/23 ... ew#2677947
der rote Kasten, ein blaues Kreuz, vom roten Kreuz sieht man nur den waagrechten Strich.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Bora4d
Beiträge: 290
Registriert: Mo 24. Dez 2007, 13:14
OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
CPU-Target: AMD64X2

Re: TLabel Zeilenabstand

Beitrag von Bora4d »

Mit Terminal-Schriftart gibt's kein Lücke bei Windows Xp.
Und für "#10" nehme LineEnding, das ist Platformunabhängig.

Antworten