Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Problem mit der Schrift bei XP-Design


Siluro - Fr 21.12.07 12:18
Titel: Problem mit der Schrift bei XP-Design
Hi,
ich habe auf meinem Formular (fsMDIChild) sechs Speedbuttons bei denen ich sämtliche Einstellungen ändern kann. Zur Entwurfszeit werden die Änderenungen auch übernommen, nur wenn ich das Projekt starte, werden meine Änderungen an der Schrift (größe, stil) ignoriert.
Ist wahrscheinlich ganz einfach und ich sehs nur gerade mal wieder nicht. Hat jemand ne Idee woran das liegen kann?

MfG

Björn


Kroko - Fr 21.12.07 12:23

[Glaskugel an]
schau dir mal die Egenschaft Parentfont an!
[Glaskugel aus]


Siluro - Fr 21.12.07 12:29

Hi,
ParentFont ist auf "false" gesetzt, zumindest bei den SpeedButtons. Da hab ich auch schon dran gedacht, trotzdem danke für die schnelle Antwort. Kann das vielleicht irgendwas mit dem MDI-Child zu tun haben?

MfG

Björn


Kroko - Fr 21.12.07 12:32

dann lass dir zur Laufzeit mal die Angaben aus der Schrift der Buttons anzeigen und vergleiche mal
oder
es wird nicht die Unit verwendet, in der Du die Änderungen vorgenommen wurde, sondern in der uses-Klausel steht noch etwas anderes (ev. umbenennen)


Siluro - Fr 21.12.07 12:50

Hi,
also die Werte die mir angezeigt werden stimmen mit denen überein die ich eingegeben hab aber das was ich auf dem Bildschirm sehe passt nicht dazu. Es passiert auch nichts wenn ich die Werte zur Laufzeit ändere. Es ist als würde irgendwas die richtige Anzeige blockieren/überschreiben.

MfG

Björn

EDIT:
Das hat wohl irgendwas mit dem XPManifest zu tun, wenn ich das auskommentiere Zeigt er die Schrift richtig an. Ich frag mich nur warum, auf meinem MDI-Master hab ich auch SpeedButtons und da kann ich die Schrift verändern und er zeigt sie dann auch richtig an.


Siluro - Mi 02.01.08 18:51

Hi,
hab die Lösung für das Problem gefunden. Der Fehler tritt auf wenn die Buttons auf 2 oder mehr Panels liegen. Ist wohl ein Delphi 7 Bug. Lässt sich ganz einfach beheben indem man die Eigenschaft des ParentBackground des Panels erst auf "True" und dann wieder auf "False" setzt (das "False" ist dann auch fett geschrieben).

MfG

Björn