AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls VCL.Graphics.pas DefFontData initialisierung veraltet
Thema durchsuchen
Ansicht
Themen-Optionen

VCL.Graphics.pas DefFontData initialisierung veraltet

Ein Thema von Rolf Frei · begonnen am 30. Apr 2021 · letzter Beitrag vom 11. Mai 2021
Antwort Antwort
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: VCL.Graphics.pas DefFontData initialisierung veraltet

  Alt 8. Mai 2021, 17:25
Ja, es einfach so unverhoft/unbemerkt zu ändern, kann paar Probleme bereiten.
Vor allem wenn der Font größer/länger würde, als der Alte, und dann Texte abgeschnitten werden oder überlappen.
Deswegen meinte ich es ja eher als Projekt-Option, nicht als Form.Property (oder Application.Property)
Somit wäre gewährleistet das bestehende Projekte nicht beschädigt werden selbst wenn man darin neue Forms erstellt.
Das war zumindest mein Grundgedanke zu Uwes berechtigten bedenken.
Ob sich dann die Projekt-Option auch als eine Form/Application Property ableitet, da bin ich überfragt, aber sicherlich denkbar möglich. (Vielleicht als Read-Only, so das man es eh nur in den Optionen ändern kann)
Es müsste ja die zugrundeliegende RTL angepasst werden, wenn ich dann noch an diese ganzen Style-Hooks denke wird mir schlecht.

Wenn ein neues Projekt entworfen wird sollte es halt aktiviert sein, bei alten eben nicht. (...aber halt nachrüstbar was dann natürlich zu mühsamen durchtesten jeder Form führen könnte wenn die IDE da keine automatische Anpassung für einen vornimmt...)


Ich bin jedenfalls voller Hoffnung das es realisierbar ist.


Auch würde mich eine Option freuen die das Windows Theme (dark/light) für moderne Applikationen einführt.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.477 Beiträge
 
Delphi 12 Athens
 
#2

AW: VCL.Graphics.pas DefFontData initialisierung veraltet

  Alt 8. Mai 2021, 17:35
Das ist halt eine Überlegung.

In der DFM gespeichert, kannst jeder Form in Ruhe nacheinander umstellen und prüfen/anpassen.

Global gespeichert, stellst du es um und mußt dann alle Forms zusammen prüfen/anpassen.
Wenn sich aber alle Forms selbst anpassen, weil sie z.B. bereits für MultiLanguage vorgesehn sind, so sich Textlängen auch ändern können, dann ist eine "globale" Einstellung auch ganz nett.
(OK, wir haben unsere Forms/Komponenten abgeleitet und könnten es auch zentral an einer Stelle ändern, selbst wenn es je Form/DFM gespeichert ist)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 8. Mai 2021 um 17:38 Uhr)
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.091 Beiträge
 
Delphi 12 Athens
 
#3

AW: VCL.Graphics.pas DefFontData initialisierung veraltet

  Alt 9. Mai 2021, 15:52
Hallo CodeZwerg,

meölde dich doch einfach mit deinem EDN/EMBT Login unter quality.embarcadero.com an,
klicke aauf den großen roten Button zum erstellen eines neuen Eintrags, wähle als Typ
Feature Request aus und fülle das Formular aus. Einfach mal reinschreiben, dass du die
VCL default Font geändert haben willst und als Kategorie VCL auswählen.
Abschicken und uns die URL (wird kurz in einem Popup angezeigt, also einfach draufklicken)
hier schicken. Dann finden es sicher einige und stimmen dafür.

Wenn ich sowas kann, kannst du das bestimmt auch

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: VCL.Graphics.pas DefFontData initialisierung veraltet

  Alt 9. Mai 2021, 16:09
Hallo CodeZwerg,

Wenn ich sowas kann, kannst du das bestimmt auch
Hallo DurboMagic!

Was muss ins Feld Summary rein?
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: VCL.Graphics.pas DefFontData initialisierung veraltet

  Alt 9. Mai 2021, 16:22
https://quality.embarcadero.com/browse/RSP-33937 Ich hoffe ich habe alles richtig gemacht. (Da könnt Ihr voten)
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
655 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: VCL.Graphics.pas DefFontData initialisierung veraltet

  Alt 10. Mai 2021, 15:14
Ich habe das schon vorher gemeldet (RSP-33856). Euer Gedankengang mit der TForm ist eigentlich überflüssig. Der Font wird seit jeher in der DFM gepseichert und wenn man da den Font aktualisieren will, muss das zur Runtime oder halt im der IDE manuell bei jeder Form gemacht werden. Einfach nachträglich automatisch sollte das auf keinen Fall passieren.

Es geht in meinem Fall auch garnicht um die Fromularfonts sondern und die Vorgabe bei der Erstellung eines TFont. Der sollte mit "Segoe UI 9pt" initialisiert werden und nicht mit dem veratlteten Tahoma. An dem Formular darf da nichts automatisch geändert werden, da das sonst durch den unterschiedlichen Platzbedarf, zu einem Fehlverhalten führen kann. Wenn jemand seine Anwendung auf Segoe UI umstellen will, kann er das mit dem refind.exe auf einfache Art machen.

Emba muss da lediglich dafür sorgen, dass DefFontData/Init... nicht mehr Tahoma nutzt sondern das neue Segoe UI. Weiter braucht man da nichts ändern.

Geändert von Rolf Frei (10. Mai 2021 um 15:18 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.721 Beiträge
 
Delphi 12 Athens
 
#7

AW: VCL.Graphics.pas DefFontData initialisierung veraltet

  Alt 10. Mai 2021, 15:45
Na ja, das deckt dann zwar deinen konkreten Anwendungsfall ab, aber berücksichtigt nicht die Auswirkungen an anderer Stelle. Wie schon gesagt, wenn du es ausprobieren willst, musst du nur den Registry-Eintrag entsprechend ändern. Ich habe daraufhin (wie erwartet) festgestellt, dass in einem Projekt alle neuen Forms mit Segoe UI erstellt wurden, was zu einer Inkonsistenz mit den anderen Forms der Anwendung führte. Im Falle einer Änderung in DefFontData muss das halt allen Beteiligten klar sein.

Besser wäre es meiner Meinung nach, wenn wir (wie früher) das Template für ein neues Form anpassen könnten.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
655 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: VCL.Graphics.pas DefFontData initialisierung veraltet

  Alt 10. Mai 2021, 17:20
Ja aber das ist ja nichts Neues. Früher war alles MS Sans Serif und da wurden dann irgend wann auch die neuen Formen mit Tahoma erstellt. Dazu gibt es ja das refind Tool um das relativ einfach zu ändern. Ist also nichts anderes als das was wir früher schon mal hatten. Hier muss man dann halt einfach mit der Zeit gehen. Wer seine Formen nicht mit Segoue UI will, machts sich halt eine eigegen TForm im Repository als Designvorgabe (oder gibt es das nicht mehr in neueren Delphis?). Wenn man dann "neue Form" auswählt wird diese mit den gewünschten Fonts verwendet. Ich nutzte das schon lange udn alle meine Formen bekommen so Segoe UI als Default, wenn ich eine neue Form erstelle.

Es geht bei mir nicht um einen spezifischen Fall sondern grundsätzlich darum, dass TFont nicht mit dem Standardfont erstellt wird. Die meisten Komponenten werden dann den Font eh selber setzen oder vererben, aber in meinem Fall von einer 3rd Party Komponente wurde eben nur ein TFont erstellt, ohne die Schirft zu ändern. Dadurch hatte ich in D7 dann MS Sans Serif in dieser Komponente. In neueren Delphi's ist es Tahoma. Dadurch bin ich erst auf diese Problem gestossen.

Geändert von Rolf Frei (10. Mai 2021 um 17:30 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 09:24 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