AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TEdit auf TTabSheet mit Themes

Ein Thema von Dalai · begonnen am 9. Apr 2014 · letzter Beitrag vom 13. Apr 2014
Antwort Antwort
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.680 Beiträge
 
Delphi 5 Professional
 
#1

TEdit auf TTabSheet mit Themes

  Alt 9. Apr 2014, 17:37
Hallo Delphi-Community,

Ich benötige schon wieder Hilfe bei einem (vermeintlich?) kleinen Design-Problem, das mit Themes zusammenhängt. Die Situation ist wie folgt: Eine Form, darauf ein TPageControl, auf diesem ein TTabSheet und auf diesem mehrere TEdits. Zwei der TEdits sind ReadOnly, eines davon hat BorderStyle=bsNone. Um die letzten beiden TEdits geht es, konkret um deren (Hintergrund)farbe: Siehe dieses Bild bzw. dasselbe Bild im Anhang (ist ein Testprojekt, das echte ist natürlich etwas komplexer ).

Wie kann ich erreichen, dass die TEdits die (Hintergrund)farbe des TabSheets benutzen, wenn Themes aktiviert sind? Je nach Theme gibt es ja noch einen Farbverlauf auf den TabSheets, wie auch auf dem Bild zu sehen ist. Und ja, ich brauche TEdits an den Stellen, denn erstens sieht das im Produktivprojekt besser/einheitlicher aus, und zweitens brauche ich eine Möglichkeit, um den angezeigten Text in die Zwischenablage zu kopieren.

Ich hab
  • mit ParentColor und SetWindowTheme rumprobiert: ändert gar nichts.
  • TTransEdit ausprobiert: wird zwar transparent, aber der Text verschwindet, wenn er selektiert ist, und sobald die TTransEdits ReadOnly sind, verhalten sie sich exakt wie TEdits.
Kann mir jemand den Weg zu den richtigen Suchbegriffen weisen? Hatte jemand schonmal eine solche Situation?

MfG Dalai
Miniaturansicht angehängter Grafiken
tedit-mit-themes.png  
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.680 Beiträge
 
Delphi 5 Professional
 
#2

AW: TEdit auf TTabSheet mit Themes

  Alt 13. Apr 2014, 22:07
Keiner ne Idee? Es würde mir schon reichen, wenn ich die Farbe des TabSheet im Bereich des TEdit irgendwie zuverlässig ermitteln könnte, um sie dem TEdit zuzuweisen. Aber selbst Versuche im OnActivate des Form funktionieren nur zufällig. Das Auslesen der Farbe in einen Timer zu packen, der im OnActivate aktiviert wird, funktioniert zwar, ist aber eher ein Würgaround.

Gibt's bessere Möglichkeiten?

MfG Dalai
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: TEdit auf TTabSheet mit Themes

  Alt 13. Apr 2014, 23:29
Das hat nichts mit den TabSheets zu tun, sondern mit den Styles.

Sobald du Styles benutzt, werden solche Werte wie Color einfach überschrieben.

Einfach mal ausprobieren und ein Edit auf eine schnöde Form legen und ParentColor setzen.
Starten ohne Style -> so wie gewünscht
Starten mit Style -> Hintergrund ist so, wie vom Style vorgegeben
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.680 Beiträge
 
Delphi 5 Professional
 
#4

AW: TEdit auf TTabSheet mit Themes

  Alt 13. Apr 2014, 23:53
Das hat nichts mit den TabSheets zu tun, sondern mit den Styles.
Natürlich hat das mit den TabSheets zu tun, weil es mir auch um den Farbverlauf geht.

Zitat:
Sobald du Styles benutzt, werden solche Werte wie Color einfach überschrieben.
Wird sie nicht. Ein TEdit auf einer Form mit ParentColor=False und Color=clBlue ist in jedem Fall blau, egal ob mit oder ohne Themes. Jedenfalls trifft das für XP zu. Aber auch bei Win7 ist das so (hab zwar nur ohne Aero probiert, nehme aber an, dass es mit Aero genauso ist).

Zitat:
Einfach mal ausprobieren und ein Edit auf eine schnöde Form legen und ParentColor setzen.
Starten ohne Style -> so wie gewünscht
Starten mit Style -> Hintergrund ist so, wie vom Style vorgegeben
Nö, ist er nicht. Respektive schon, aber TEdits haben in beiden Fällen die Farbe der Form und nicht die der TabSheets. Und genau deswegen hat das mit TabSheets zu tun.

MfG Dalai
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: TEdit auf TTabSheet mit Themes

  Alt 13. Apr 2014, 23:56
Upps, Themes nicht Styles

Sag ja schon gar nichts mehr
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:54 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