![]() |
Fontname und Fontsize eines TPRLabel ermitteln
Hallo Wissende,
ich grübel derzeit, wie ich die Schriftgrösse und Schriftartname eines TPRLabel in meiner Toolbar schreiben lassen kann, um dies anschliessen modifizieren zu können. Dies geht nicht, weil der Fontname kein String ist, sondern vom Typ TPRFontname. Wie kann ich das wandel, dass es passt?
Delphi-Quellcode:
Die geht leider nicht, weil die Fontsize der Komponente vom Typ Singel ist...
cmb_fonts.Text := (Form1.FormDesigner1.Control as TPRLabel).FontName);
Delphi-Quellcode:
Ich frage mich derzeit, warum die Entwickler das so gelöst haben und nicht den Fontnamen als String und die Schriftgrösse als integer deklariert haben...Hat das einen Grund?
btn_fontsize.Caption := inttostr((Form1.FormDesigner1.Control as TPRLabel).fontsize);
|
Re: Fontname und Fontsize eines TPRLabel ermitteln
Für den Fontname kannst Du eine case-Unterscheidung verwenden und die FontSize kannst Du mit trunc auf integer herunterrunden.
|
Re: Fontname und Fontsize eines TPRLabel ermitteln
Moin Deddy,
das mit der trunc klappt wunderbar, aber wie meinst Du das mit der Case-Anweisung? Also ich weiss schon, was ne Case ist, aber wie woll ich da was wie umwandeln. Das ist mir nicht ganz klar, denn ich bekomme halt keinen String zurück...Gibst Du mir bitte noch nen Tipp, wie Du das meinst??? |
Re: Fontname und Fontsize eines TPRLabel ermitteln
Moin Tom, ganz einfach:
Delphi-Quellcode:
case PRLabel.Fontname of
fnFixedWidth: cmb_fonts.Text := 'Fixed Width'; fnArial : cmb_fonts.Text := 'Arial'; fnTimesRoman: cmb_fonts.Text := 'Times Roman'; end; |
Re: Fontname und Fontsize eines TPRLabel ermitteln
Danke Dir für den Code. So funzt es auf jeden Fall. Etwas enttäuschend finde ich den scheinbaren Zustand, dass es NUR 3 Schriftarten zu geben scheint...
|
Re: Fontname und Fontsize eines TPRLabel ermitteln
Da kann ich nichts zu sagen, vielleicht ist die Doku, die ich mir ergoogelt habe, auch veraltet. Ein Blick in den OI sollte da aber Klarheit schaffen ;)
|
Re: Fontname und Fontsize eines TPRLabel ermitteln
Jo, da stehen nur die 3 Schriftarten als Vorgabe drin. Das ist natürlich a bisserl doof. Könnte ich diese Eigenschaft nicht "einfach" überschreiben und mit den Fonts des Screens füllen?
|
Re: Fontname und Fontsize eines TPRLabel ermitteln
Ich glaube nicht, dass die Kompo damit zurechtkäme.
|
Re: Fontname und Fontsize eines TPRLabel ermitteln
Schade, aber ok. Wäre halt schön gewesen, wenn man dem Kunden hätte mehr bieten können als nur 3 Schriften. Naja für den Anfang wirds wohl erstmal so gehen. Ich schau mich mal um, ob es noch andere Alternativen gibt...
|
Re: Fontname und Fontsize eines TPRLabel ermitteln
Hallo Tom,
der Datentyp Single für die FontSize rührt daher, dass es hier um PostScript Fonts geht - die Größe kannst du dort sehr fein stufig setzen. Wenn du willst, dann kannst du natürlich den Datentyp TPRFontName und das zugehörige Array ITEM_FONT_NAMES erweitern, die Quellen sind ja vorhanden. Dein (sicher nicht unlösbares) Problem dürften die Laufweiten-Tabellen der neuen Fonts sein, die du in die Unit PdfFonts einarbeiten musst. Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz