AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

tabitem.text zur Laufzeit ändern (FMX, Android)

Ein Thema von Dabei-seit-Turbo-Pascal-2 · begonnen am 26. Apr 2017 · letzter Beitrag vom 26. Apr 2017
Antwort Antwort
Dabei-seit-Turbo-Pascal-2

Registriert seit: 19. Feb 2010
26 Beiträge
 
Delphi 11 Alexandria
 
#1

tabitem.text zur Laufzeit ändern (FMX, Android)

  Alt 26. Apr 2017, 01:46
Ich weise zur Laufzeit einem Tabitem.text einen neuen Wert (String) zu. Dieser wird aber nicht angezeigt. Sichtbar bleibt weiterhin der alte Text.

Ich verwende Delphi 10.2 Tokyo, Firemonkey und compiliere für Android.

Diverse Versuche mit Tabitem.Repaint, TabControl.Repaint und .beginupdate / .endupdate waren erfolglos.

Ein Tabitem.visible :=false / :=true vor / nach der Zuweisung an Tabitem.text haben zur Anzeige des neu zugewiesenen Textes geführt, aber alle anderen Controls des Tabitems waren danach nicht mehr sichtbar.

Wechsele ich auf ein anderes Tabitem, ändert sich die Beschriftung des dann inaktiven Tabitems auf den neu zugewiesenen Wert. Wechsele ich wieder zurück, erscheint bei dem dann wieder aktiven Tabitem auch wieder die alte Beschriftung.

Es scheint, als verwende Delphi hier zwei Texte: Den Text für ein inaktives Tabitem ändere ich mit der Zuweisung an Tabitem.text, der Text, der bei aktivem Tabitem angezeigt wird, bleibt von der Zuweisung zur Laufzeit unberührt.

Ob die Zuweisung an Tabitem.text erfolgt, während das Tabitem das TabControl.ActiveTab ist oder nicht, macht keinen Unterschied.

Getestet habe ich mit einem LG-Mobiltelefon mit Android 5.0.2.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: tabitem.text zur Laufzeit ändern (FMX, Android)

  Alt 26. Apr 2017, 09:41
Kannst du das mit einem Minimalbeispiel reproduzieren?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Dabei-seit-Turbo-Pascal-2

Registriert seit: 19. Feb 2010
26 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: tabitem.text zur Laufzeit ändern (FMX, Android)

  Alt 26. Apr 2017, 10:07
> Kannst du das mit einem Minimalbeispiel reproduzieren?

Habe ich gerade versucht mit einem Form, welches nur einen TabControl mit zwei Tabitems und einen Button zum Zuweisen des neuen Textes an das TabItem1 enthält. In dieser Minimalkonfiguration tritt der Fehler nicht auf.

Ich werde nachher mal eine Kopie meines Projektes machen und nach und nach Dinge daraus löschen oder deaktivieren und schauen, ob und wann die Zuweisung auch dort wieder funktioniert.

Melde mich dann wieder.
  Mit Zitat antworten Zitat
Dabei-seit-Turbo-Pascal-2

Registriert seit: 19. Feb 2010
26 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: tabitem.text zur Laufzeit ändern (FMX, Android)

  Alt 26. Apr 2017, 13:56
*** Problem gelöst ***

Das Formular mit dem anzeigeresistenten TabItem1.Text enthält auch ein TEdit. Bei diesem wollte ich den Eingabebereich mit gelbem Hintergrund haben. Dazu bin ich so vorgegangen, wie ich es hier

http://stackoverflow.com/questions/1...-in-firemonkey

gefunden habe. Dadurch wurde ein modifizierter Style erzeugt und meinem Form eine Stylebook1-Komponente hinzugefügt und verbunden.

Nachdem ich dieses Stylebook1 vom Form gelöscht habe, wird die Zuweisung Tabitem1.Text := 'abc' sofort angezeigt. Ob das TabItem1 dabei das TabControl1.ActiveTab ist oder nicht, spielt keine Rolle.

Was genau an meinem Style querschießt, kann ich nicht sagen. Mit den Firemonkey-Styles wollte ich mich eigentlich erst später beschäftigen, habe aber das Gefühl, das vorziehen zu müssen.
  Mit Zitat antworten Zitat
Dabei-seit-Turbo-Pascal-2

Registriert seit: 19. Feb 2010
26 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: tabitem.text zur Laufzeit ändern (FMX, Android)

  Alt 26. Apr 2017, 18:52
> Kannst du das mit einem Minimalbeispiel reproduzieren?

Habe das funktionierende Minimalbeispiel aus Beitrag #3 um einen TEdit mit Style für gelben Hintergrund gemäß dem Stackoverflow-Link aus Beitrag #4 erweitert. Damit tritt das Zuweisungsproblem bei mir reproduzierbar auf.

Löscht man das Stylebook1 aus dem Form, wird die Zuweisung an Tabitem1.Text richtig angezeigt.
Angehängte Dateien
Dateityp: zip TabItem_Text_Test.zip (10,2 KB, 4x aufgerufen)

Geändert von Dabei-seit-Turbo-Pascal-2 (27. Apr 2017 um 15:27 Uhr) Grund: "Tabsheet1.Text" in "Tabitem1.Text" geändert
  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 06:20 Uhr.
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