Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TPanel.ParentBackground setzt sich - irgendwann - zurück (?) (https://www.delphipraxis.net/187805-tpanel-parentbackground-setzt-sich-irgendwann-zurueck.html)

Daniel 5. Jan 2016 13:11

TPanel.ParentBackground setzt sich - irgendwann - zurück (?)
 
Moin,

jaja, seltsamer Titel. Ist aber auch ein seltsames Problem. ;-)
Ich habe hier eine Handvoll Panels, die z.B. rot sind. Weist man einem Panel eine spezielle Farbe zu, wird dessen Eigenschaft "ParentBackground" automatisch auf "false" gesetzt. Schön und gut.
Aber genau diese Eigenschaft hat sich bei manchen - nicht bei allen - Panels zurückgesetzt und steht wieder auf "true". Jetzt hat das Ding in seiner Eigenschaft "Color" noch den zuvor zugewiesenen Farbwert, zeigt ihn aber nicht an, weil eben "ParentBackground" plötzlich auf "true" steht. Das Einzige, was ich aktuell mit Sicherheit weiß, ist, dass diese Änderung nicht per Hand erfolgte.
Ich habe ja so ein wenig die Farb-Schemata von Windows unter Verdacht und dass sich das Panel zur Designzeit ändert, wenn das Windows-Farbschema auf "Basic" gesetzt oder zurückgesetzt wird. Unter Windows 8.1 kann ich das aber nur noch schwerlich testen.

Ist Euch das bekannt und weiß jemand, welche Umstände dazu führen können?

Sir Rufo 5. Jan 2016 13:38

AW: TPanel.ParentBackground setzt sich - irgendwann - zurück (?)
 
Liegt wohl hier dran
Delphi-Quellcode:
{ TCustomPanel }

constructor TCustomPanel.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  ControlStyle := [csAcceptsControls, csCaptureMouse, csClickEvents,
    csSetCaption, csOpaque, csDoubleClicks, csReplicatable, csPannable, csGestures];
  { When themes are on in an application default to making
    TCustomPanel's paint with their ParentBackground }
  if StyleServices.Enabled then
    ControlStyle := ControlStyle + [csParentBackground] - [csOpaque];
  [...]

Daniel 5. Jan 2016 13:43

AW: TPanel.ParentBackground setzt sich - irgendwann - zurück (?)
 
Die Stelle habe ich mir auch angeguckt, das müsste dann doch aber grundsätzlich alle Panels betreffen oder nicht?
:gruebel:
Es sind nicht alle Formulare betroffen und ich kann das Verhalten jetzt hier so auch nicht nachstellen.

Helmi 5. Jan 2016 13:56

AW: TPanel.ParentBackground setzt sich - irgendwann - zurück (?)
 
liegen denn wirklich alle Panels auf dem gleichen Parent?

Daniel 5. Jan 2016 14:03

AW: TPanel.ParentBackground setzt sich - irgendwann - zurück (?)
 
Nein, die Panels liegen auf unterschiedlichen Parents.
Ich habe schon überlegt, ob es Wechselwirkungen zwischen verschiedenen Panels geben könnte, aber auch dabei konnte ich das Verhalten nicht nachstellen.
Ich weiß ja nicht einmal, wann genau sich die Eigenschaft zurückgestellt hat.

Helmi 5. Jan 2016 14:08

AW: TPanel.ParentBackground setzt sich - irgendwann - zurück (?)
 
sind das verschiedene Objekte die als Parents dienen?
Vielleicht ist das Problem durch die Parents verursacht

stahli 5. Jan 2016 14:10

AW: TPanel.ParentBackground setzt sich - irgendwann - zurück (?)
 
Ist ein PageControl im Spiel?
Vielleicht unterbricht das dann den Nachrichtenfluss.

Daniel 5. Jan 2016 14:30

AW: TPanel.ParentBackground setzt sich - irgendwann - zurück (?)
 
In manchen Fällen ist der Parent das Form selbst, in anderen Fällen andere Panels.
Ein PageControl ist weit und breit nicht verbaut.

hm. Spannend.
Ist natürlich blöd, wenn im Meldungsfenster "Kernreaktor überhitzt - abschalten?" weiße Schrift auf weißem und nicht rotem Grund erscheint. :stupid:

TiGü 5. Jan 2016 16:01

AW: TPanel.ParentBackground setzt sich - irgendwann - zurück (?)
 
Passiert das nur beim Kunden auf einen Rechner oder betrifft das mehrere Rechner und du kannst es bei dir am Entwicklungsrechner nachstellen?

bra 5. Jan 2016 16:06

AW: TPanel.ParentBackground setzt sich - irgendwann - zurück (?)
 
Tritt das auf, wenn du den Rechner mit Strg+Alt+Entf sperrst?

Ich habe diese Phänomen bei mir mit Windows 8.1 nämlich auch. Ich habe dort als Windowsfarben einen dunkleren Hintergrund mithilfe von alten Windows 7-Registry-Einträgen eingestellt. Funktioniert wunderbar, solange man nicht den Rechner sperrt. Ab dann sind die Farben wieder auf den Windows-Standard zurückgesetzt - bis zum nächsten manuellen setzen oder einem Neustart. Witzigerweise werden die Farben aber in einigen Fenstern noch angezeigt, bis man die irgendwann mal in der Größe ändert ö.ä.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:00 Uhr.
Seite 1 von 2  1 2      

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