Forum: Cross-Platform-Entwicklung
Delphi
by Harry Stahl,
10. Mai 2015
Das Einbinden von Forms in andere Forms / Container funktioniert ohne Probleme in FMX. Wenn die Programmlogik nicht unbedingt für Frames spricht, würde ich immer eine Form vorziehen.
Forum: Cross-Platform-Entwicklung
Delphi
by Harry Stahl,
7. Mai 2015
Wahrscheinlich ist da irgendwo nur ein kleiner Denkfehler. Vermute eine Variable, die eben doch anderen Inhalt hat, als erwartet.
Ja, das bin ich. Helfe gerne, habe aber auch was davon, denn die hier im Forum geschilderten FMX-Probleme können dann z.T. auch Problemlösungen für die Bücher sein.:wink:
Forum: Cross-Platform-Entwicklung
Delphi
by Harry Stahl,
7. Mai 2015
Also, da Du 2 Frames auf dem Formular hast, hast Du ja auch 2 Instanzen von dem Frame. Da ist dann drauf zu achten, dass da jeweils dir richtigen Variablen der jeweiligen Instanz verwendet werden.
Habe also die PaintBox nun mal in ein Frame gelegt und davon dann 2 auf die Form gelegt. Wie Du im anliegenden Screenshot sehen kannst, werden in beiden Frames unterschiedliche Fontfamilys und...
Forum: Cross-Platform-Entwicklung
Delphi
by Harry Stahl,
7. Mai 2015
Es ist natürlich nicht ganz so leicht, ohne den konkreten Source-Code und die Implementation da den Fehler zu finden.
Aber eine wesentliche Information lieferst Du glaube ich erst jetzt, nämlich, dass Du den Code in Frames verwendest, also in mehreren Instanzen.
Da ist es schlecht das so zu machen (bzw. es ist immer schlecht, das so zu machen):
with PaintBox1.Canvas do
begin
...
Forum: Cross-Platform-Entwicklung
Delphi
by Harry Stahl,
7. Mai 2015
Also ich habe hier in der Demo mal einen Button eingebaut, der nach Click die Fontfamily (AFName) ändert und dann die Paintbox neu zeichnet. Wird neu gezeichnet und mit dem neuen Font.
Habe das Demo hier mal als Zip angehängt, kannst ja mal vergleichen.
Forum: Cross-Platform-Entwicklung
Delphi
by Harry Stahl,
6. Mai 2015
Das liegt daran, dass die Farbe noch auf EvenRowColor steht, wenn Du den Text malst. Du musst vorher also wieder die Textfarbe wählen (vor Filltext z.B. mit Fill.Color := TAlphaColorRec.Black; und dann funktioniert auch das Beispiel hier.
Forum: Cross-Platform-Entwicklung
Delphi
by Harry Stahl,
6. Mai 2015
OK.
TText ist direkt von TControl abgeleitet und hat als Komponente keine (veröffentlichte) Hintergrundeigenschaft, insofern kannst Du da nirgendwo etwas zur Desingn-Time oder Runtime einstellen. Insofern bietet es sich an, hier das Onpaint-Event zu nehmen, dann kannst Du die Komponente selber und abweichend von dem verwendeten Style zeichnen (was Du ja wolltest, wenn ich Dich richtig...
Forum: Cross-Platform-Entwicklung
Delphi
by Harry Stahl,
6. Mai 2015
Ganz wichtig ist erst mal, dass Du die verwendete Delphi-Version dabei schreibst, denn gerade bei den von Dir beschriebenen Sachverhalten hat sich von XE2-XE8 in FMX so einiges verändert.
Beispiel: Die Font-Farbe eines TLabels hat man in XE2 noch mit Styles gelöst, später kann man die Farbe direkt mit FontColor setzen (wobei dafür bei Styledsettings FontColor deaktiviert sein muss).
Da die...