Hallo zusammen,
ich habe wiedereinmal ein kleines Problem, welches ich nicht selbst in den Griff bekomme und hoffe auf Hilfe.
Gegeben:
Windows-Only-Anwendung
TForm mit einem TPageControl.
Auf einem TabSheet liegen mehrere TPanels, welche unter anderem zum Gruppieren von RadioButtons und als Container für (ausblendbare) CheckBoxen dienen.
Die Farbe des Fensters kann in der Anwendung selbst geändert werden.
Problem:
Wie stelle ich die Properties der Panels ein, also Color, ParentColor, Parentbackgound, damit die Panels immer das gleiche Aussehen haben, wie das Tabsheet?
Ich habe schon allles mögliche durchprobiert, aber komme auf keine allgemeingültige Einstellmöglichkeit.
Je nach Kombination wird das Panel in der Formfarbe angezeigt und nicht mit dem Hintergrund des Tabsheets. Dies ist auch abhängig von den benutzten Windows-Themen.
Hoffentlich hat jemand einen genialen Einfall.
ParentColor / ParentBackground nicht erwartungsgemäß
-
- Beiträge: 286
- Registriert: Mi 16. Sep 2009, 14:15
- OS, Lazarus, FPC: Xubuntu 22.04 / x86_64_linux-gtk 2 / L 2.2.0 / FPC 3.2.2
Re: ParentColor / ParentBackground nicht erwartungsgemäß
Also ich habe unter Linux das gleiche Problem. Ändern kann man im Objektinspektor scheinbar nur beim Panel, wo eben die betreffende Eigenschaft, zum ein- und ausschalten, auch vorhanden ist. Vielleicht fehlte es den Programmieren an Vorstellungskraft, dass Jemand die Farbe des Formulars ändern möchte, ohne dass dann PageControl und TabSheet dies dann auch tun soll? Oder die Eigenschaft/Methode ist doch vorhanden, wird aber nicht im Objektinspektor angezeigt? So was kann auch vorkommen.
Ich habe damals dies folgendermaßen gelöst: In der Prozedure, wo die Form-Farbe geändert wird, vor dem Code-Zeile wo die neue Farbe der Form übergeben wird, erst mal die Farben von PageControl und TabSheet auslesen in eine Variable, Form-Farbe ändern, und dann aus der Variable dem PageControl TabSheet ihre vorherige Farbe zuweisen. Ansonsten fällt mir derzeit leider nichts dazu ein.
Ich habe damals dies folgendermaßen gelöst: In der Prozedure, wo die Form-Farbe geändert wird, vor dem Code-Zeile wo die neue Farbe der Form übergeben wird, erst mal die Farben von PageControl und TabSheet auslesen in eine Variable, Form-Farbe ändern, und dann aus der Variable dem PageControl TabSheet ihre vorherige Farbe zuweisen. Ansonsten fällt mir derzeit leider nichts dazu ein.
Lazarus 2.2.0 / FP 3.2.4