DataModule Farben ändern

Für Fragen rund um die Ide und zum Debugger
Benutzeravatar
lcb-User
Beiträge: 54
Registriert: Di 15. Jul 2014, 13:18
OS, Lazarus, FPC: Linux Mint 21.1 Cinnamon Lazarus 2.3.0 (rev main-2_3-3744-g967034aff5) FPC 3.3.1
CPU-Target: 64Bit
Wohnort: München

DataModule Farben ändern

Beitrag von lcb-User »

Hallo Liebe Gemeinde.

Ich arbeite unter Linux Mint mit der Farbeinstellung Mint-Y-Dark
Lazarus passt sich wunschgemäß an und es ist alles gut,
aber DataModule ignoriert die Farbgebung vom OS.
DataModule.JPG
DataModule.JPG (60.14 KiB) 3180 mal betrachtet
Gibts da eine Stelle im Cod wo ich eine Anpassung machen kann
Hintergrund wie bei Form
und die Textfarbe von der Beschriftung der Komponenten.

Danke für Eure Hilfe :)
Sonnige Grüße
Bibsi


Traue keiner Statistik die du nicht selbst gefälscht hast (Sir Winston Churchill 1874 - 1965)
Linux Mint 21.1 Cinnamon 5.6.7 Kernel 5.19.0-35-generic
Lazarus 2.3.0 (rev main-2_3-3744-g967034aff5) FPC 3.3.1 x86_64-linux-gtk2

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: DataModule Farben ändern

Beitrag von Michl »

Bisher konnte man die Hintergrundfarbe nicht ändern. Wenn du die aktuelle Lazarus Trunk-Version installierst, geht das über Options -> Environment -> Form Editor -> Non Form Designer background color.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

wp_xyz
Beiträge: 4864
Registriert: Fr 8. Apr 2011, 09:01

Re: DataModule Farben ändern

Beitrag von wp_xyz »

Ich habe das gerade installiert. Bin zwar kein Freund des DarkMode, aber ich frage mich, wieso die "Non-Form-Designer Background color" per default clWhite ist. clWindow wäre doch viel flexibler. Nachdem ich die Hintergrundfarbe von TAChart auf clWindow gesetzt habe, ist sie im Normal-Modul hell (weiß), aber im Dark-Mode wird sie automatisch dunkel.

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: DataModule Farben ändern

Beitrag von Michl »

wp_xyz hat geschrieben:
Mo 15. Mär 2021, 14:49
aber ich frage mich, wieso die "Non-Form-Designer Background color" per default clWhite ist.
Könnte mir vorstellen, daß man erkennt, daß es sich um eine Nicht-Form handelt. Daher habe ich den Default-Wert clWhite von vorher übernommen.

Ich fände die Default Hintergrundfarbe eines Formulars auch schöner, zumal der Text eines Controls auf dem DataModule diesen Hintergrund hat. Was meinst du, soll ich den Default-Wert ändern?

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

wp_xyz
Beiträge: 4864
Registriert: Fr 8. Apr 2011, 09:01

Re: DataModule Farben ändern

Beitrag von wp_xyz »

Ich wäre dafür. Ist im Normalmodus dasselbe und sieht im Darkmode stimmiger aus. Besser als clWindows wäre wahrscheinlich noch clDefault, aber da muss man vor der Ausgabe GetDefaultColor(dctBrush) aufrufen, was aber, wenn man das zur Unzeit macht, einen Absturz verursachen kann (so ging's mir in TAChart).

Der einzige Fremdkörper wäre dann nur noch der Editor, aber da stelle ich mir die stimmige Integration der Zusatzfarben schwierig vor. Immer wenn Farben fest vorgegebene RGB-Werte haben, ist die automatische Umstellung im Darkmode ein Problem. Ich habe in meinen About-Boxen oft blaue Labels als Links zu Seiten, von denen ich irgendwas "geborgt" habe, aber das clBlue ist im DarkMode kaum zu erkennen.

Benutzeravatar
lcb-User
Beiträge: 54
Registriert: Di 15. Jul 2014, 13:18
OS, Lazarus, FPC: Linux Mint 21.1 Cinnamon Lazarus 2.3.0 (rev main-2_3-3744-g967034aff5) FPC 3.3.1
CPU-Target: 64Bit
Wohnort: München

Re: DataModule Farben ändern

Beitrag von lcb-User »

Michl hat geschrieben:
Mo 15. Mär 2021, 14:40
Bisher konnte man die Hintergrundfarbe nicht ändern. Wenn du die aktuelle Lazarus Trunk-Version installierst, geht das über Options -> Environment -> Form Editor -> Non Form Designer background color.
Danke für die Behandlung meines Problems.

Ich hab die aktuelle Lazarus Trunk-Version wieder zurück genommen da die Komponenten
die ich brauche (DataPort) noch nicht laufen.
Ich hab halt nicht mehr die besten Augen (63) und da ist der helle Hintergrund für mich schon sehr anstrengend. :-)

Kannst mir die stelle (Quelldatei)zeigen wo der Farbwert eingetragen wird ?
CT hat's auch auf meine Bitte geändert ;-)

Danke!
Sonnige Grüße
Bibsi


Traue keiner Statistik die du nicht selbst gefälscht hast (Sir Winston Churchill 1874 - 1965)
Linux Mint 21.1 Cinnamon 5.6.7 Kernel 5.19.0-35-generic
Lazarus 2.3.0 (rev main-2_3-3744-g967034aff5) FPC 3.3.1 x86_64-linux-gtk2

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: DataModule Farben ändern

Beitrag von Michl »

@wp_xyz: Statt clWindow gänge ja auch clForm?! Dann würde die Hintergrundfarbe eines Controls mit der des DataModules passen. Wie es dann bei TAChart aussieht, habe ich nicht getestet. Was meinst du?

@lcb-User: Bei Lazarus in der Datei noncontroldesigner.pas einfach nach "Brush.Color :=" suchen und gewünschten Werten setzen.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

Benutzeravatar
lcb-User
Beiträge: 54
Registriert: Di 15. Jul 2014, 13:18
OS, Lazarus, FPC: Linux Mint 21.1 Cinnamon Lazarus 2.3.0 (rev main-2_3-3744-g967034aff5) FPC 3.3.1
CPU-Target: 64Bit
Wohnort: München

Re: DataModule Farben ändern

Beitrag von lcb-User »

Michl hat geschrieben:
Mo 15. Mär 2021, 15:45
@lcb-User: Bei Lazarus in der Datei noncontroldesigner.pas einfach nach "Brush.Color :=" suchen und gewünschten Werten setzen.
Danke, hat geklappt, Brush.Color :=clForm ist perfekt! :)

Jetzt müsste nur noch der Text von den Komponenten auf Weiß gestellt werden. 8)
Sonnige Grüße
Bibsi


Traue keiner Statistik die du nicht selbst gefälscht hast (Sir Winston Churchill 1874 - 1965)
Linux Mint 21.1 Cinnamon 5.6.7 Kernel 5.19.0-35-generic
Lazarus 2.3.0 (rev main-2_3-3744-g967034aff5) FPC 3.3.1 x86_64-linux-gtk2

wp_xyz
Beiträge: 4864
Registriert: Fr 8. Apr 2011, 09:01

Re: DataModule Farben ändern

Beitrag von wp_xyz »

Michl hat geschrieben:
Mo 15. Mär 2021, 15:45
@wp_xyz: Statt clWindow gänge ja auch clForm?! Dann würde die Hintergrundfarbe eines Controls mit der des DataModules passen. Wie es dann bei TAChart aussieht, habe ich nicht getestet. Was meinst du?
Ich habe gerade mein DarkMode-Linux aufgerufen und ein Formular mit clForm und eins mit clWindow gefüllt, dazu auch ein TDataModule (in der Standardeinstellung). Entsprechend füge ich noch einen Screenshot für den Normalmodus unter Windows bei.

Im Vergleich sieht man:
  • clForm und clWindow haben unterschiedliche Grauwerte, sowohl im Darkmode als auch im Normal-Mode.
  • Vergleicht man das Datenmodul mit den beiden Forms unter Windows, dann passt von der Logik her für das Datenmodul eher die Farbe clWindow.
  • Die Hintergrundfarbe des Textes einer eingefügten Komponente passt sich bei beiden Modi und beiden Hintergrundfarben beim Formular exakt dem Hintergrund an. Nicht so beim Datenmodul: Da meine ich, dass bei Windows im Datenmodul clForm verwendet werden müsste
  • Aber das ist nicht das Problem. Ich meine, dass der Text der Komponentenbeschriftung als clBlack ausgegeben wird, daher ist er im Darkmode so schlecht zu erkennen. Richtig wäre meiner Meinung nach clWindowText.
Dateianhänge
darkmode.png
darkmode.png (13.75 KiB) 3079 mal betrachtet
NormalMode.png
NormalMode.png (8.04 KiB) 3079 mal betrachtet

Benutzeravatar
lcb-User
Beiträge: 54
Registriert: Di 15. Jul 2014, 13:18
OS, Lazarus, FPC: Linux Mint 21.1 Cinnamon Lazarus 2.3.0 (rev main-2_3-3744-g967034aff5) FPC 3.3.1
CPU-Target: 64Bit
Wohnort: München

Re: DataModule Farben ändern

Beitrag von lcb-User »

So siehts jetzt bei mir mit clWindow aus:

DateModule.png
DateModule.png (120.74 KiB) 3055 mal betrachtet
Sonnige Grüße
Bibsi


Traue keiner Statistik die du nicht selbst gefälscht hast (Sir Winston Churchill 1874 - 1965)
Linux Mint 21.1 Cinnamon 5.6.7 Kernel 5.19.0-35-generic
Lazarus 2.3.0 (rev main-2_3-3744-g967034aff5) FPC 3.3.1 x86_64-linux-gtk2

wp_xyz
Beiträge: 4864
Registriert: Fr 8. Apr 2011, 09:01

Re: DataModule Farben ändern

Beitrag von wp_xyz »

Also entsprechend zu dem wie bei Windows im Normal-Mode. Dass man hier den Texthintergrund sieht, kann auch daran liegen, dass der Text als opaque ausgegeben wird. Wichtiger erschiene mir, dass der Text selbst besser sichtbar ist; wie gesagt, ich meine, der müsste in Farbe clWindowText geschrieben werden. Ich habe aber keine Ahnung, wo die Componentensymbole im Form/DataModule gezeichnet werden.

P.S. Was hat du eigentlich da oben in der Komponenten für einen Mischmasch?

Benutzeravatar
lcb-User
Beiträge: 54
Registriert: Di 15. Jul 2014, 13:18
OS, Lazarus, FPC: Linux Mint 21.1 Cinnamon Lazarus 2.3.0 (rev main-2_3-3744-g967034aff5) FPC 3.3.1
CPU-Target: 64Bit
Wohnort: München

Re: DataModule Farben ändern

Beitrag von lcb-User »

wp_xyz hat geschrieben:
Mo 15. Mär 2021, 17:39
P.S. Was hat du eigentlich da oben in der Komponenten für einen Mischmasch?
Das sind die ZEOSDB Komponenten. Sehen etwas zerstört aus, ich weiß.
Das kommt daher vermutlich, weil ich die Schrift um 1.3 vergrößere
[Systemeinstellung ->Schrifteinstellung].
Mein EIZO Monitor hat eine hohe Auflösung und in der normalen Einstellung ist die Darstellung zu klein.
Da werden dadurch die Pixelbilder skaliert und sehen dann so aus.
Damit kann ich leben.
Sonnige Grüße
Bibsi


Traue keiner Statistik die du nicht selbst gefälscht hast (Sir Winston Churchill 1874 - 1965)
Linux Mint 21.1 Cinnamon 5.6.7 Kernel 5.19.0-35-generic
Lazarus 2.3.0 (rev main-2_3-3744-g967034aff5) FPC 3.3.1 x86_64-linux-gtk2

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: DataModule Farben ändern

Beitrag von Michl »

lcb-User hat geschrieben:
Mo 15. Mär 2021, 16:58
Vergleicht man das Datenmodul mit den beiden Forms unter Windows, dann passt von der Logik her für das Datenmodul eher die Farbe clWindow
wp_xyz hat geschrieben:
Mo 15. Mär 2021, 16:18
Ich meine, dass der Text der Komponentenbeschriftung als clBlack ausgegeben wird, daher ist er im Darkmode so schlecht zu erkennen. Richtig wäre meiner Meinung nach clWindowText.
Habe es auch nochmal in mehreren dark theme Linuxes probiert. Bin nun auch der Meinung clWindow passt besser, da es ja kein Formular sondern ein Container für Controls ist.

clWindow als Hintergrund und clWindowText als Fontfarbe sind jetzt standardmäßig gesetzt und der Fonthintergrund ist jetzt gleich dem Datamodulhintergrund.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

wp_xyz
Beiträge: 4864
Registriert: Fr 8. Apr 2011, 09:01

Re: DataModule Farben ändern

Beitrag von wp_xyz »

Sehr gut!

Benutzeravatar
lcb-User
Beiträge: 54
Registriert: Di 15. Jul 2014, 13:18
OS, Lazarus, FPC: Linux Mint 21.1 Cinnamon Lazarus 2.3.0 (rev main-2_3-3744-g967034aff5) FPC 3.3.1
CPU-Target: 64Bit
Wohnort: München

Re: DataModule Farben ändern

Beitrag von lcb-User »

Michl hat geschrieben:
Mi 17. Mär 2021, 22:57
clWindow als Hintergrund und clWindowText als Fontfarbe sind jetzt standardmäßig gesetzt und der Fonthintergrund ist jetzt gleich dem Datamodulhintergrund.
Wunderbar, hast Du noch sie Datei wo die Änderungen gemacht werden?
Danke! :)
Sonnige Grüße
Bibsi


Traue keiner Statistik die du nicht selbst gefälscht hast (Sir Winston Churchill 1874 - 1965)
Linux Mint 21.1 Cinnamon 5.6.7 Kernel 5.19.0-35-generic
Lazarus 2.3.0 (rev main-2_3-3744-g967034aff5) FPC 3.3.1 x86_64-linux-gtk2

Antworten