AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Firemonkey Schriftgröße 12 unter OSX

Ein Thema von Sunec · begonnen am 20. Nov 2014 · letzter Beitrag vom 20. Nov 2014
Antwort Antwort
Sunec

Registriert seit: 31. Aug 2013
88 Beiträge
 
Delphi XE8 Architect
 
#1

Firemonkey Schriftgröße 12 unter OSX

  Alt 20. Nov 2014, 13:07
Hallo,

ich möchte einen TText mit der Schriftgröße 12 in meinem Firemonkey Programm anzeigen.

Wenn ich das Projekt für Windows compile wird mir der TText korrekt mit der Schriftgröße 12 angezeigt.

Unter OSX hat dieser TText jedoch die Schriftgröße 13.

Gibt es eine Möglichkeit dies, ohne während der Runtime nachzuhelfen, zu realisieren?
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Firemonkey Schriftgröße 12 unter OSX

  Alt 20. Nov 2014, 15:43
Mit XE7 geht das. XE6 habe ich gerade nicht zu Hand.
screen-shot-2014-11-20-15.40.53-.png

Gibt es in XE6 die StyledSettings schon?
screen-shot-2014-11-20-15.42.31-.png
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Sunec

Registriert seit: 31. Aug 2013
88 Beiträge
 
Delphi XE8 Architect
 
#3

AW: Firemonkey Schriftgröße 12 unter OSX

  Alt 20. Nov 2014, 17:28
Hallo Daniel,

ja die StyledSettings gibt es schon.


Habe einen kleinen Testscreen gemacht in dem ich verschiedene Labels platziert habe.

In das Text property der Labels habe ich die Schriftgröße hineingeschrieben.

Anschließend folgende Procedure ausgeführt:

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var
  i: integer;
begin
  for i := 0 to ComponentCount - 1 do
    if Components[i] is TLabel then
      TLabel(Components[i]).Text := TLabel(Components[i]).Text + ' ' + FloatToStr(TLabel(Components[i]).TextSettings.Font.Size)
end;
Ergebnis in Bild 1.

Außerdem ist mir aufgefallen, dass Schriftgröße 12 automatisch in (Default) umbenannt wird (Bild 2).

Es freut mich aber, dass es in XE7 anscheinend geht. Ich werde mir mal die Demo von XE7 hierrunterladen und testen.

EDIT:

Habe noch ein Screen unter Windows angehängt. Gleicher Code - gleiches Programm.

Danke.


Edit:

Workaround für XE6 User:

Delphi-Quellcode:
procedure TForm1.OnPaint(Sender: TObject);
var
  Settings: ITextSettings;
  Instance: TComponent;
  i: integer;
begin

  for i := 0 to ComponentCount - 1 do
  begin
    Instance := Components[i];

    if IInterface(Instance).QueryInterface(ITextSettings, Settings) = S_OK then
    begin
      Settings.TextSettings.BeginUpdate;
      try
        Settings.DefaultTextSettings.Font.Size := 12;

      finally
        Settings.TextSettings.EndUpdate;
      end;
    end;
  end;
end;
Miniaturansicht angehängter Grafiken
s12.jpg   groessen.jpg   win.jpg  

Geändert von Sunec (20. Nov 2014 um 18:21 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz