AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Verständnisprobleme mit FMX

Ein Thema von Ookami · begonnen am 6. Mai 2015 · letzter Beitrag vom 10. Mai 2015
 
Benutzerbild von Ookami
Ookami

Registriert seit: 20. Nov 2009
Ort: Baden Württemberg
77 Beiträge
 
Delphi 2009 Architect
 
#1

Verständnisprobleme mit FMX

  Alt 6. Mai 2015, 19:42
Hallo Gemeinde,

Ich wollte ein lange gepflegtes Tool auf einen neuen Stand bringen und den Schritt zur Cross-Plattform-Entwicklung beschreiten.
In einigen Bereichen war ich schon erfolgreich damit, andere bringen mich zur Verzweiflung. Daher ich wende mich mal wieder hilfesuchend an alle, speziell diejenigen, die bereits Erfahrung mit FMX und Cross-Plattform-Entwicklung haben.
Da dieses Gebiet für mich Neuland ist, habe ich wie es der Titel anzeigt noch einige Probleme damit.

Jetzt aber zu den Problemen. Generell geht es mir darum, auf die Standard-Komponenten von Delphi XEx Font/Fontfarbe sowie Hintergründe zuzugreifen, also zu verändern. Hintergrund ist der, dass ich manchmal die eingestellten Styles übergehen muss.

Manche Komponenten wie TText kann ich über Textsettings einstellen. Font und Farbe. Dann geht aber irgendwie keine Hintergrundfarbe.
Andere Komponenten wie TRoundrect kann ich den Hintergrund füllen, bringe aber keinen Text zur Anzeige.

Ich würde mich auch nicht scheuen, das was nicht geht durch TPaintbox zu ersetzen. Da geht's aber auch nicht. (zumindest nicht bei mir)
Wie im Netz zu sehen, haben andere Leute auch riesenprobleme damit, aber keine Lösungen, die funktionieren.

Das hier funktioniert
Code:
     RoundRect1.BeginUpdate;
     RoundRect1.Fill.Color := MainForm.EvenRowColor;
     RoundRect1.EndUpdate;
     RoundRect1.Repaint;
Das funktioniert bei Auswahl nur für den 1. Fall. Wähle ich einen 2., 3. usw. geht es nicht mehr. Zurück wieder zu 1. und es geht.
Code:
     TText(ExamplePanelEven).BeginUpdate;
     TText(ExamplePanelEven).Color := FontColor;
     TText(ExamplePanelEven).Font.Family := Fontname;
     TText(ExamplePanelEven).Font.Style := FontStyle;
     TText(ExamplePanelEven).Font.Size  := FontSize;
     TText(ExamplePanelEven).EndUpdate;
     TText(ExamplePanelEven).Repaint;
Das einzige was sich ändert, sind Font und der Text, der angezeigt werden soll.
Habe es bereits TText, TLabel usw ausprobiert, mit und ohne Textsettings versucht. Resultat bleibt gleich.

auch das Beispiel mit einer PaintBox war nicht erfolgreich.

Code:
procedure TFontDialogFrame.PaintBox1Paint(Sender: TObject; Canvas: TCanvas);
begin
     with PaintBox1.Canvas do
     begin
          BeginScene();

          Stroke.Kind:= tBrushKind.Solid;
          Fill.Color := MainForm.EvenRowColor;
          FillRect(PaintBox1.BoundsRect, 1,1, AllCorners, 1);

          FontColor := FontColor;
          Font.Family := Fontname;
          Font.Size  := FontSize;
          Font.Style := FontStyle;
         
          FillText(PaintBox1.BoundsRect, fExample, True, 1, [], TTextAlign.Center, TTextAlign.Center);

          EndScene;
     end;    
end;
Hintergrundfarbe ändert sich wie gewünscht. Nur Text, kommt keiner. Die Daten erreichen alle absolut korrekt ihr vorbestimmtes Ziel,
die Darstellung aber funktioniert nicht. Wenn dann schon mal ein Text angezeigt wird, dann kann ich aber den Font nicht ändern.

Alle Komponenten haben einen Canvas, auf den man doch eigentlich zugreifen können sollte.

Ich wäre dankbar für ein kleines Beispiel, das bei euch so funktioniert, dann kann ich wenigstens von dem dann ausgehen und schauen, warum es bei mir nicht geht.

Ich danke schon mal vorab, und entschuldige mich für den langen Text, wusste es nicht besser abzukürzen.
Wolfgang
Grüße und Danke
Wolfgang
  Mit Zitat antworten Zitat
 

 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:06 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