Wie auf Standardfont zugreifen?

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
br_klaus
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)

Wie auf Standardfont zugreifen?

Beitrag von br_klaus »

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)?

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Wie auf Standardfont zugreifen?

Beitrag von felix96 »

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!

br_klaus
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?

Beitrag von br_klaus »

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

Socke
Lazarusforum e. V.
Beiträge: 3158
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?

Beitrag von Socke »

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)?

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.
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

Antworten