Font.Size versus Font.Height

Rund um die LCL und andere Komponenten
Antworten
_ny
Beiträge: 40
Registriert: Do 18. Okt 2007, 13:40

Font.Size versus Font.Height

Beitrag von _ny »

Moin erneut :)

nun, ich möchte die Schriftgröße einer oder mehrer Labels (u.a.) ändern - kleiner, größer - wie auch immer.

Ändere ich jedoch den Wert der Eigenschaft "font.size" ändert sich die Eigenschaft "font.height" im Gegenzug und scheint meine Änderung ausgleichen zu wollen.

Was mach ich falsch?

Danke!

shokwave
Beiträge: 475
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
CPU-Target: i386, x64
Wohnort: Gera

Beitrag von shokwave »

Hi,

du hast 2 Möglichkeiten:
1. Autosize auf False und die Größe des Labels selbst anpassen.
2. Lass Autosize auf True und ändere die Caption, nachdem du die Schriftgröße geändert hast, dann passt sich das Label der Schriftgröße an.
mfg Ingo

_ny
Beiträge: 40
Registriert: Do 18. Okt 2007, 13:40

Beitrag von _ny »

ok, ich probiers mal, danke! (:

_ny
Beiträge: 40
Registriert: Do 18. Okt 2007, 13:40

Beitrag von _ny »

führt leider nicht so richtig zum gewünschten Resultat:

Autosize ist auf falsch - und wie gesagt gibt es bei Font zwei Größenangaben die sich gegenseitig aufheben.

Autosize auf true - da kann ich am Label rumziehen wie ich will, es passt sich automatisch der angegebenen Font-Größe an. Auch der Trick, dass die Grösse sich dem Inhalt anpasse, funktioniert hier nicht.

Ich will doch nur die Schriftgröße ändern... :/

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Na mit Height stellt er meines Wissens die Schriftgrösse nach der schrifthöhe ein, mit Size direkt sie schriftgrösse natürlich beeinflusst eins das andere oder versteh ich dich jetzt falsch.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

_ny
Beiträge: 40
Registriert: Do 18. Okt 2007, 13:40

Beitrag von _ny »

Stimmt, die stehen zueinander in einer Beziehung.

Beispiel:

Autosize False
Font.Size 11
Font.Height -16

Nun ändere ich Font.Size auf 8, woraufhin Font.Height nicht etwa kleiner wird, sondern grösser, nämlich -11 - und somit meine Änderung ausgleicht. Die Schrift im Label bleibt also gleich.

Das gleiche passiert, wenn ich AutoSize aktiviere.

Ist AutoSize deaktiviert, lässt sich das Label an den "Greifern" garnicht in der Grösse verändern, ergo tut sich auch bei der Schriftgrösse nichts. Ich kann hier nur über die Eigenschaften Height und Width des Labels modifizieren - das wirkt sich aber ebenfalls nicht auf die Grösse der Schrift aus.
Ist AutoSize aktiviert kann ich an den Greifern ein wenig rumzurren, die Schriftgrösse bleibt aber gleich. Auch die direkte Eingabe über die Eigenschaften Width und Height des Labels ist nicht möglich. Aber darum solls ja nicht gehen, ich will ja die Grösse der Schrift ändern.

Hin wie her... was muss ich tun, damit die Zeichen in meinem Label grösser oder kleiner werden?

//EDIT
um auszuschliessen, dass es sich um ein "importiertes" PRoblem handelt, weil ich das Projekt von Win32 Delphi importiert hatte, habe ich natürlich auch ein "frisches" Label auf meine Form gezogen. Die Anfangswerte betragen dann Font.Height = 0 und Font.Size = 0 - mit den gleichen Ergebnissen wie oben beschrieben, wenn ich etwas ändern möchte.

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

_ny hat geschrieben: Hin wie her... was muss ich tun, damit die Zeichen in meinem Label grösser oder kleiner werden?
Hallo ny!

Dein Problem tritt auf, wenn du noch keine Schriftart ausgewählt hast.
Um das zu tun gehst du wie folgt vor:
Klicke auf das Label deiner Wahl. Im Objektinspektor erscheint eine Eigenschaft "Font" mit nem + davor. Wenn du auf die Eigenschaft Font (nicht aufs +) klickst, erscheint ein Feld, dahinter "..."

Nun auf "..." klicken und ne Schriftart mit beliebiger Schriftgröße festlegen.
Wenn die Schriftart nun mehr als nur eine Schriftgröße erlaubt, kannst du nun auch über Font.Size die Größe der Labelschrift festlegen.

Viele Grüße, Euklid

_ny
Beiträge: 40
Registriert: Do 18. Okt 2007, 13:40

Beitrag von _ny »

Verstanden und umgesetzt. Is ja ne Wissenschaft für sich, ich hab vorher die Schriftart direkt über die SubEigenschaft Font.Name und dort meistens "default" ausgewählt!

Vielen Dank, jetztt läufts :)

Antworten