Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Schriftart ändern für alle Label und Edits in einem Form (https://www.delphipraxis.net/211972-schriftart-aendern-fuer-alle-label-und-edits-einem-form.html)

himitsu 3. Dez 2022 20:45

AW: Schriftart ändern für alle Label und Edits in einem Form
 
Zitat:

Zitat von Rolf Frei (Beitrag 1515819)
und alles ist erledigt.

Wenn der zu ändernde Font der Default-Font jener Komponente ist, dann wird bei ParentFont=False Dieser benutzt, ist aber dennoch nicht in der DFM gespeichert.

Michael II 3. Dez 2022 23:36

AW: Schriftart ändern für alle Label und Edits in einem Form
 
Zitat:

Zitat von Rolf Frei (Beitrag 1515819)
Geht es um die Fonts zur Runtime, also vom Kunden selber angegebene Fonts oder geht es um einmal in der IDE z.B. MS SansSerif auf Segoe UI zu ändern. Wenn du deine Form in der IDE umstellen willst, ist es am einfachsten die Form zu öffnen und dann Alt-F12 zu drücken. Im Sourcecode der DFM kannst du nun einfach nach dem alten Fontnamen suchen und diesen mit dem neuen ersetzen. Danach einfach wieder Alt-F12 und alles ist erledigt.

Musste ich auch gerade tun... in zwei Projekten, welche ich seit Delphi2
pflege gab's noch viele Fenster mit "MS Sans Serif". Erst kürzlich bin ich von 1920x1080 endlich auf 3K und 4K Monitore umgestiegen - und erst da sah ich, wie verpixelt MS Sans Serif Schrift auf solchen Monitoren aussieht.
Da die DFMs von neueren Delphis in TXT vorliegen und ältere binäre DFMs mittels ObjectResourceToText in TXT übersetzt werden können, lässt sich der Font-Austausch mit ein paar wenigen Zeilen Code automatisieren.

himitsu 3. Dez 2022 23:52

AW: Schriftart ändern für alle Label und Edits in einem Form
 
Zitat:

Da die DFMs von neueren Delphis in TXT vorliegen und ältere binäre DFMs mittels ObjectResourceToText in TXT übersetzt werden können
Jain.

Die einkompilierte Ressource ist immernoch Binär.
Die DFM wird aber seit ewig als Text gespeichert, aber das ging auch schon früher, wenn man die Einstellung änderte. (gut, D2 noch nicht, aber ab irgendwann bis D7)



Wie mehrmals gesagt, haben wir auch hunderte Forms, aber mit sowas garkeine Probleme.
Wir nutzen möglichst nur abgeleitete Komponenten und vererbte Forms (von Letzterem muß ich leider abrate, da der unfähige Support schwerwiegende Bugs nicht reparieren will, selbst wenn man ihm die Lösung fertig üergibt) und zur Laufzeit wird nochmal eine zentrale Methode für alle Forms aufgerufen.

Es gibt also mehrere zentrale Stellen, wo sich für alle Komponenten, zur Laufzeit oder im Designer, solche Anpassungen mit wenig Code einfügen lassen.

Michael II 4. Dez 2022 00:53

AW: Schriftart ändern für alle Label und Edits in einem Form
 
Zitat:

Zitat von himitsu (Beitrag 1515822)
Zitat:

Da die DFMs von neueren Delphis in TXT vorliegen und ältere binäre DFMs mittels ObjectResourceToText in TXT übersetzt werden können
Jain.

Die einkompilierte Ressource ist immernoch Binär.
Die DFM wird aber seit ewig als Text gespeichert, aber das ging auch schon früher, wenn man die Einstellung änderte. (gut, D2 noch nicht, aber ab irgendwann bis D7)

Ist mir voll bewusst- ich wollte einfach nicht einen Roman schreiben über all die Möglichkeiten; aber ich war fast sicher, dass himitsu das so nicht stehen lassen kann (lieb gemeint ;-).

Du schreibst du hättest keine Probleme: Aber du musstest doch sicher auch die frühere Standardschrift MS Sans Serif ersetzen, wegen unschöner Pixelschrift auf 3K+ [KEIN Delphi Problem - liegt am Font]? (Microsoft Sans Serif [<> MS Sans Serif] ist natürlich voll OK).

BerndS 4. Dez 2022 11:34

AW: Schriftart ändern für alle Label und Edits in einem Form
 
Ich habe alte Projekte Ultraedit über suchen und ersetzen in Dateien die Schriften in den Text DFM austauschen lassen. Das waren auch hunderte Stellen die geändert werden mussten. Das wollte ich nicht manuell machen. Das erst zur Laufzeit zu machen halte ich nicht für sinnvoll, da ich es in der IDE sehen möchte.
Gelegentlich tausche ich auf diese Weise die Komponenteklassen von Standard Klassen auf abgeleitete inder pas und dfm aus.

himitsu 4. Dez 2022 14:34

AW: Schriftart ändern für alle Label und Edits in einem Form
 
Zitat:

Zitat von Michael II (Beitrag 1515825)
Du schreibst du hättest keine Probleme: Aber du musstest doch sicher auch die frühere Standardschrift MS Sans Serif ersetzen, ...

Jupp, das haben wir einfach in unseren Ableitungen der Controls (Edit Label usw. gemacht)
Schon bei früheren Änderungen wurde dafür sogar eine globale Kontante eingefügt, welche in den Controls genutzt wird,
also war hierfür nur noch EINE Änderung nötig. :angle:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:16 Uhr.
Seite 2 von 2     12   

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