Hallo,
ich möchte gerne bei meinem Programm mit der Veränderung der Formgröße (und damit auch der TImage-Komponente) auch die Fontgröße verändern. Aber bei allen Versuchen mit Einlesen der Fontgröße: ...Canvas.font.size (z.B. TForm1.canvas, Image1.canvas, .brush.font. etc) bekam ich immer als Ergebnis 0. Wie kann man die aktuelle Fontgröße lesen und verändern? Und kann man zu einer Komponente, die auch eine Fonteigenschaft hat, diesen Font den Textausgaben zuweisen (textout)?
Wie auf Standardfont zugreifen?
Re: Wie auf Standardfont zugreifen?
Meinst du sowas?
Code: Alles auswählen
canvas.Font:=Button1.Font;
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!
it´s not a bug, it´s a feature!
-
- Beiträge: 244
- Registriert: Do 21. Jan 2010, 22:33
- OS, Lazarus, FPC: Windows Vista (L 0.9.31 FPC 2.5.1)
- CPU-Target: 32Bit
- Wohnort: z.z. Brasilien, sonst 82335 Berg-Leoni (südlich von München)
Re: Wie auf Standardfont zugreifen?
Hallo,
Jetzt habe ich schon eine gewisse Antwort auf mein Problem erhalten.
Habe nämlich ein kleines Programm entworfen, mit dem ich eine Form und deren Komponenten im gleichen Maße skaliere (mit dem Event OnChangeBounds). (Soll ich das uploaden? )
Da habe ich festgestellt, daß wenn ich als Fontgröße (der Form) 0 angebe, dann wird ein fest installierter Font benützt, Größe etwa 8. Wenn ich dagegen 8 als Größe angebe, dann ist dieser Font minimal kleiner. Liegt das vielleicht daran, daß bei dem Standardfont noch andere Eigenschaften mit im Spiele sind, die beim aktiven Setzen der Fontgröße nicht übernommen werden?
Und wie kann ich wissen, welches der Standardfont ist und seine Eigenschaften (das war v.a. meine Frage)?
Herzlichen Dank
P. Nikolaus
Jetzt habe ich schon eine gewisse Antwort auf mein Problem erhalten.
Habe nämlich ein kleines Programm entworfen, mit dem ich eine Form und deren Komponenten im gleichen Maße skaliere (mit dem Event OnChangeBounds). (Soll ich das uploaden? )
Da habe ich festgestellt, daß wenn ich als Fontgröße (der Form) 0 angebe, dann wird ein fest installierter Font benützt, Größe etwa 8. Wenn ich dagegen 8 als Größe angebe, dann ist dieser Font minimal kleiner. Liegt das vielleicht daran, daß bei dem Standardfont noch andere Eigenschaften mit im Spiele sind, die beim aktiven Setzen der Fontgröße nicht übernommen werden?
Und wie kann ich wissen, welches der Standardfont ist und seine Eigenschaften (das war v.a. meine Frage)?
Herzlichen Dank
P. Nikolaus
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Wie auf Standardfont zugreifen?
Die Klasse TFont kapselt alle relevanten Eigenschaften einer Schrift: Name, Schnitt (fett, kursiv), Größe, usw. Was davon Standard für alle Programme ist, hängt vom Betriebssystem, Desktop, Widgetset und Theme. Die Werte können also von Benutzer zu Benutzer variieren.br_klaus hat geschrieben:Liegt das vielleicht daran, daß bei dem Standardfont noch andere Eigenschaften mit im Spiele sind, die beim aktiven Setzen der Fontgröße nicht übernommen werden?
Und wie kann ich wissen, welches der Standardfont ist und seine Eigenschaften (das war v.a. meine Frage)?
Für ein entsprechendes Handle müsstest du wahrscheinlich auf entsprechende API-Funktionen zurückgreifen.
P.S. Von der praktischen Seite aus gesehen: ein Control erstellen und Font klauen? Solange du kein Parent setzt sollte der sich nicht ändern (oder ParentFont auf False setzen).
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein