Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Standardschrift für Formulare/Komponenten in der IDE ändern (https://www.delphipraxis.net/174289-standardschrift-fuer-formulare-komponenten-der-ide-aendern.html)

TiGü 15. Apr 2013 10:11

Standardschrift für Formulare/Komponenten in der IDE ändern
 
Hallo,

weiß jemand wo ich in der IDE oder Registry festlegen kann, welche Schrift eingestellt wird, wenn ich neue Formulare und/oder Komponenten anlege?

Unter Windows 7 ist die Standardschrift für so gut wie alles ja Segoe UI mit Größe 9.

Leider ist selbst unter XE3 die voreingestellte Schrift Tahoma mit Größe 8.

Die IDE Insight Suche nach "Font" brachte mich nicht weiter.

Uwe Raabe 15. Apr 2013 10:49

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
Wenn ich mich recht entsinne, sind diese Dinge in der IDE hardcodiert.

Sir Rufo 15. Apr 2013 10:58

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
Und wofür soll das gut sein?

Wenn das Projekt auf einer anderen Delphi-Installation compiliert wird, sind diese Einstellungen evtl. futsch.

Normalerweise :mrgreen: legt man sich für ein Projekt erstmal ein TTemplateForm an von dem dann alle anderen Formulare abgeleitet werden. Dann kannst du genau diese Einstellungen dort vornehmen und der Drops ist gelutscht ;)

Uwe Raabe 15. Apr 2013 12:01

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
Zitat:

Zitat von Sir Rufo (Beitrag 1211515)
Wenn das Projekt auf einer anderen Delphi-Installation compiliert wird, sind diese Einstellungen evtl. futsch.

Es geht doch um die Standardwerte beim Erstellen eines neuen Forms. Das ist doch dasselbe, als wenn ich ein neues Form erstelle und danach die Schriftart ändere. Das hat doch eher was mit dem Form-Designer als mit dem Compiler zu tun.

TiGü 15. Apr 2013 14:36

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
Ich versteh halt nicht, warum die nicht einfach die Systemschrift nehmen, sondern ihr eigenes Süppchen kochen.
Es ist ja XE3 und kein altes Delphi 7, da würde ich das ja verstehen.

Das ist typografisch immer so ein Bruch...:(

dataspider 17. Apr 2013 09:18

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
Na ja, es gibt ja seit irgendwann DesktopFont der Form.

Wenn man das im Constructor z. B. auf True setzt, dann wird auch der System Font verwendet.
Man sieht es leider erst zur Laufzeit und on alle Komponenten das auch können, weiß ich nicht.

Frank

p80286 17. Apr 2013 22:58

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
Ich versuche z.Zt. für D7 die Fonts des System/Desktop zu übernehmen, da komme ich mit DesktopFont nicht weiter.
Zitat:

Zitat von Sir Rufo (Beitrag 1211515)
Und wofür soll das gut sein?

Sobald ich die vom Benutzer eingestellten Schriften nutze, koche ich eben nicht mein eigenes Süppchen.

Gruß
K-H

Headbucket 28. Aug 2014 11:01

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
Gibt es zu diesem Thema eventuell neue Erkenntnisse?

Seit Windows Vista ist die Standardschriftart von Windows ja nicht mehr "Tahoma" sondern "Segoe UI". Außerdem hat sich die Schriftgröße von 8 auf 9 Punkte vergrößert. Wenn man nun Software für Windows 7 und aufwärts entwickelt, dann würde ich gerne auch zur Designzeit immer mit "Segoe UI" arbeiten. Nun ist es etwas mühselig jedes mal die Schriftart und -größe bei jedem neuen Formular umzustellen.

Grüße
Headbucket

bernau 28. Aug 2014 11:08

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
Ich mache es so, wie SirRufo es erklärt hat. Erst ma ein TemplateForm anlegen. Dort alle Einstellungen durchführen und von diesem Form ableiten. Hat den Vorteil, daß eine Schriftänderung im Template durchgeführt werden kann und sofort alle abgeleiteten Forms diese Schrift übernehmen.

mkinzler 28. Aug 2014 11:09

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ist z.B. durch Verwendung der GExperts möglich

Headbucket 28. Aug 2014 11:49

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
@bernau
Dafür ist es bei mir leider schon etwas zu spät ;-)

@mkinzler
Damit ändert sich bei mir aber nur die Schrift von GExperts. Wenn ich ein neues Formular erstelle, hat dieses weiterhin die Schriftart Tahoma.

-=ZGD=- 28. Aug 2014 12:13

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
Es gibt eine Lösung, allerdings ist das Formular dann nicht mehr eingebettet, sondern "freistehend" wie bei Delphi 7 beispielsweise.

bernau 28. Aug 2014 12:50

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
Zitat:

Zitat von Headbucket (Beitrag 1270130)
@bernau
Dafür ist es bei mir leider schon etwas zu spät ;-)

Es ist nie zu spät. Habe ich schon für einige alte Projekte gemacht und nicht bereut.

1) TemplateForm erzeugen.
2) Im Source des bestehende Forms das Template angeben.

Delphi-Quellcode:
TMeineForm = class(TFormProjectTemplate)


3) Umschalten auf den Formdesigner. Auf "Ansicht als Text" umschalten.

4) in der ersten Zeile "inherited" statt "object" eingeben.

Delphi-Quellcode:
inherited MeineForm: TMeineForm


5) Wieder auf "Ansicht als Formular" umschalten.

Et Voila -> Da hast du dein Form vom Template abgeleitet.

Schritt 2-5 für alle Forms durchführen.

Headbucket 2. Sep 2014 09:36

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
Nach einer Weile rumprobieren, werde ich nun doch ein Template erstellen.

Vielen Dank für die Kurzanleitung, bernau.

Dann werde ich ja aber zwei Templates erstellen müssen - eins für Forms und eins für Frames. Das ist das einzige, was mich nun noch ein wenig stört.

Oder bekommt man es auch hin ein Template von TScrollingWinControl zu erstellen, sodass ich zwei Fliegen mit einer Klappe schlagen kann? Schwierig :-/

Grüße
Headbucket

-=ZGD=- 2. Sep 2014 12:36

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
Wenn dich nicht stören würde, dass der Designer nicht mehr in einem Fenster eingebettet ist, sonder du das Fenster frei herumschieben kannst, geht das auch ohne Template ;-)

Headbucket 3. Sep 2014 07:13

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
@-=ZGD=-

Das klingt schon nach einem ziemlich großen Eingriff in die IDE. Das gefällt mir eigentlich nicht so sehr. Es soll schon eine saubere Lösung sein, da mehrere Personen an dem Projekt arbeiten und natürlich auch eine Versionsverwaltung verwendet wird.

Grüße
Headbucket

-=ZGD=- 3. Sep 2014 07:27

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
Nicht wirklich.

Ich glaube man kann das in den Optionen auch deaktivieren.

Wie gesagt, ist dann so wie es von D1 bis D7(?) war..

Wobei das eine rechnerspezifische Lösung wäre.

Gruß,
Stefan

Dejan Vu 3. Sep 2014 09:22

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
Zitat:

Zitat von Headbucket (Beitrag 1270663)
Dann werde ich ja aber zwei Templates erstellen müssen - eins für Forms und eins für Frames. Das ist das einzige, was mich nun noch ein wenig stört.

Wieso? Ich habe sogar mindestens drei Templates:
  • Hauptformular(e)
  • Popup-Dialoge
  • Wizards
  • Frames

bernau 3. Sep 2014 09:34

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
Zitat:

Zitat von Dejan Vu (Beitrag 1270806)
Wieso? Ich habe sogar mindestens drei Templates:

Dito. Formvererbung ist genial.

Headbucket 3. Sep 2014 09:55

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
Ja so wird es wohl auch werden.

Ich bin gerade ein wenig am rumprobieren mit den TTemplateFormes und habe hier aber noch ein paar Probleme.
Mein Wunsch ist es, dass ich zur Designtime die Schriftart und Schriftgröße umstellen kann, damit ich bei allen Forms überprüfen kann, wie das Layout aussieht.

Beispiele 1:
(1) Form von TTemplateForm ableiten (ParentFont ist Standardmäßig auf false)
  • Hier ist noch alles so, wie ich es mir wünsche: Wenn ich beim Template im Design-Editor die Schrift ändere, ändert sie sich auch in der abgeleiteten Form im Design-Editor und ist natürlich auch zur Laufzeit sichtbar.
(2) Ich verstelle ausversehen das ParentFont der abgeleiteten Form
  • Ab nun geht das nicht mehr. Die Schriftart der abgeleiteten Form bleibt stets die Standardschriftart.
Wie ich diesen Vorgang rückgängig machen kann ist mir bisher nicht klar.

Zwischendurch trat auch oft das Problem auf, dass sich das abgeleitete Form skaliert hat, wenn ich was bei TTemplateForm umgestellt habe. Ich habe also z.B. die Schriftgröße auf 5 pt gestellt und plötzlich waren die Labels, Buttons der abgeleiteten Form auch sehr klein, obwohl sich die Schriftgröße nicht angepasst hat. Hier tippe ich auf einen Bug. Ich kann es leider gerade nicht mehr reproduzieren.
-> das hing wohl auch irgendwie mit ParentFont zusammen.

Die funktionierende Vorgehensweise mit der TemplateForm ist jetzt also die Zuweisung der Schriftart und -größe im Programmcode. Dann sehe ich es aber leider auch erst zur Laufzeit. Somit hat diese Vorgehensweise, bezogen auf Schriftart und -größe, bis jetzt keinen Vorteil gegenüber meiner bisherigen Vorgehensweise mit
Delphi-Quellcode:
Application.DefaultFont
und
Application.DefaultFont.Size
Ich werde aber wohl trotzdem mit Templates arbeiten, auch wenn ich bisher noch nicht weiß, wofür ich sie sonst noch so einsetzen könnte, außer der Vorgabe der Schriftform.

Gruß
Headbucket

bernau 3. Sep 2014 10:02

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
Zitat:

Zitat von Headbucket (Beitrag 1270818)
(2) Ich verstelle ausversehen das ParentFont der abgeleiteten Form
  • Ab nun geht das nicht mehr. Die Schriftart der abgeleiteten Form bleibt stets die Standardschriftart.
Wie ich diesen Vorgang rückgängig machen kann ist mir bisher nicht klar.

Ja. Das finde ich auch immer ärgerlich. Leider gibt es keine lock-Property für das Frame.

Du kannst aber in der abgeleiteten Form auf das entsprechende Element rechts klicken und "Geerbte Einstellungen wiederherstellen" klicken.

TiGü 25. Aug 2015 09:35

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
Sternzeit: -307352.2232369355 (25. August 2015)

Delphi XE8 startet fröhlich bunt und mit Segoe UI mit Schriftgröße 10...aber was sehen meine alten, entzündeten Augen?
Ein neues Projekt wird erstellt und die Font-Eigenschaften des Formulars ist weiterhin auf XP...:? :roll:

Mal von der von SirRufo vorgeschlagenden Lösung abgesehen, aber das ist schon ein bisschen traurig.

mquadrat 25. Aug 2015 10:22

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
Im Grunde müsste man wie bei Android die Target-Version der Anwendung angeben. Aktuell nimmt Delphi halt den kleinsten / ältesten gemeinsamen Nenner. Ein Delphi-Programm soll ja auch noch unter XP laufen. Oder eben einen Meta-Font einfügen "System-Font", der sich entsprechend des OS anpasst. Dann kriegt man aber wieder Probleme mit der Komponenten-Größe. Je länger ich drüber nachdenke... Target-Version angeben und gut ist.

Mavarik 25. Aug 2015 10:32

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
Den eingestellten Font des User zu verwenden ist aber schon eine sportliche Aufgabe an das UIDesign...

Oder programmiert Ihr alle mit einem FlowLayout?

Was ist wenn der User Arial 22 eingestellt hat? Passen dann eure Forms noch?

Label TEdit
Combobox Speedbutton

usw.?

p80286 25. Aug 2015 11:41

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
Zitat:

Zitat von Mavarik (Beitrag 1313410)
Den eingestellten Font des User zu verwenden ist aber schon eine sportliche Aufgabe an das UIDesign...

Nur zur Hälfte, Font-Name auslesen, Höhe beibehalten bzw. selbst einstellen.

Gruß
K-H

Mavarik 25. Aug 2015 11:48

AW: Standardschrift für Formulare/Komponenten in der IDE ändern
 
Zitat:

Zitat von p80286 (Beitrag 1313422)
Zitat:

Zitat von Mavarik (Beitrag 1313410)
Den eingestellten Font des User zu verwenden ist aber schon eine sportliche Aufgabe an das UIDesign...

Nur zur Hälfte, Font-Name auslesen, Höhe beibehalten bzw. selbst einstellen.

Gruß
K-H

Das ist das aber auch halbherzig...
- vielleicht sieht er schlecht oder hat einen Monster Monitor


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:01 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