"Dark Mode" einstellen?
-
- Beiträge: 1579
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
- CPU-Target: 32/64Bit
"Dark Mode" einstellen?
Hallo,
Es gibt immer wieder Leute, die wollen gerne dass die Exe im "Dark Mode" Design gezeigt wird.
Ich habe die meisten Dinge in meiner EXE als clDefault belassen.
Gibt es eine einfache Möglichkeit dass in allen Formularen man die Farbe für clDefault einstellen kann, so dass die EXE als "Dark Mode" erscheint?
Also ohne dass ich sämtliche Steuerelemente durchlaufe und die Farbe einzeln anpasse?
Wenn man über irgend welche "Default" Farbeinstellungen machen kann, so dass es automatisch für alle Formulare gilt, dann wäre das super.
Vielen Dank für die Hilfe,
VG Markus
Es gibt immer wieder Leute, die wollen gerne dass die Exe im "Dark Mode" Design gezeigt wird.
Ich habe die meisten Dinge in meiner EXE als clDefault belassen.
Gibt es eine einfache Möglichkeit dass in allen Formularen man die Farbe für clDefault einstellen kann, so dass die EXE als "Dark Mode" erscheint?
Also ohne dass ich sämtliche Steuerelemente durchlaufe und die Farbe einzeln anpasse?
Wenn man über irgend welche "Default" Farbeinstellungen machen kann, so dass es automatisch für alle Formulare gilt, dann wäre das super.
Vielen Dank für die Hilfe,
VG Markus
EleLa - Elektronik Lagerverwaltung - www.elela.de
- jwdietrich
- Beiträge: 173
- Registriert: Mo 20. Okt 2008, 20:50
- OS, Lazarus, FPC: macOS 10.4-14.1, Windows 2000-11, Raspbian (L 3.7.0, FPC 3.2.2)
- CPU-Target: PowerPC, Intel, ARM
- Wohnort: Hattingen, NRW
- Kontaktdaten:
Re: "Dark Mode" einstellen?
Am Mac ist es so, dass mit clDefault automatisch der Dark Mode verwendet wird. Ich weiß aber nicht genau, wie das unter Windows funktioniert.
-
- Beiträge: 1579
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: "Dark Mode" einstellen?
Danke für den Link auf den anderen Thread.
Dieser "Windows Dark Mode" habe ich auch gefunden, der wird in der Registry aktiviert:
Im Verzeichnis:
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize
Dort gibt es einen Eintrag "AppsUseLightTheme", der dann 'FALSE' also '0' ist wenn "Dark Mode" aktiv ist.
Mir ging es in erster Linie darum wie ich die verschiedene clDefault Farben von meinem Programm selbst festlegen kann, was clDefault bedeutet. Gibt es dazu eine Datenstruktur, wo man selbst die Farben setzen kann?
VG Markus
Dieser "Windows Dark Mode" habe ich auch gefunden, der wird in der Registry aktiviert:
Im Verzeichnis:
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize
Dort gibt es einen Eintrag "AppsUseLightTheme", der dann 'FALSE' also '0' ist wenn "Dark Mode" aktiv ist.
Mir ging es in erster Linie darum wie ich die verschiedene clDefault Farben von meinem Programm selbst festlegen kann, was clDefault bedeutet. Gibt es dazu eine Datenstruktur, wo man selbst die Farben setzen kann?
VG Markus
EleLa - Elektronik Lagerverwaltung - www.elela.de
Re: "Dark Mode" einstellen?
Hast du das schon durch?
https://forum.lazarus.freepascal.org/in ... #msg474346
https://forum.lazarus.freepascal.org/in ... #msg474346
-
- Beiträge: 2118
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: "Dark Mode" einstellen?
Schau dir mal das an: https://github.com/zamtmn/metadarkstyle/
Das kann man sogar für die Lazarus IDE einstellen, so sieht doe dann aus: https://github.com/Warfley/LazSetup/blo ... edDark.png
Um das in deiner Anwendung zu benutzen, hier beispiel aus dem Setup Projekt von oben: https://github.com/Warfley/LazSetup/blo ... izzard.lpr
Das kann man sogar für die Lazarus IDE einstellen, so sieht doe dann aus: https://github.com/Warfley/LazSetup/blo ... edDark.png
Um das in deiner Anwendung zu benutzen, hier beispiel aus dem Setup Projekt von oben: https://github.com/Warfley/LazSetup/blo ... izzard.lpr
Code: Alles auswählen
program SetupWizzard;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}
cthreads,
{$ENDIF}
{$IFDEF HASAMIGA}
athreads,
{$ENDIF}
Interfaces, // this includes the LCL widgetset
uDarkStyleParams, uMetaDarkStyle, uDarkStyleSchemes, // Für Darktheme benötigt (muss unter interfaces sein)
Forms, SetupMainFrm,
CompareSelectFrm, DetailedList, Progressfrm, AsyncProgress, GitlabFetch,
LazarusPackageManager, UIFlows
{ you can add units after this };
{$R *.res}
begin
RequireDerivedFormResource:=True;
PreferredAppMode:=pamAllowDark; // AllowDark benutzt System Settings, gibt auch ForceDark um immer dark zu sein
uMetaDarkStyle.ApplyMetaDarkStyle(DefaultDark); // Color scheme aktivieren
Application.Scaled:=True;
Application.Initialize;
Application.CreateForm(TSetupMainForm, SetupMainForm);
Application.Run;
end.
Re: "Dark Mode" einstellen?
Ich habe das mit zamtmn's DarkMode-Arbeiten nur am Rande verfolgt. Mein Eindruck war, dass das eine Lösung nur für Windows ist. Ist das so? Oder kann man damit auch eine eigene Anwendung auf einem light-mode Linux in den dark mode zwingen?
In meiner eigenen (spärlichen) Linux-Erfahrung funktioniert der Dark-Mode unter Linux in der Regel einwandfrei (sofern die Anwendung Systemfarben verwendet, also clWindow statt clWhite). Nur Windows muckt da immer noch herum.
In meiner eigenen (spärlichen) Linux-Erfahrung funktioniert der Dark-Mode unter Linux in der Regel einwandfrei (sofern die Anwendung Systemfarben verwendet, also clWindow statt clWhite). Nur Windows muckt da immer noch herum.
-
- Beiträge: 2118
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: "Dark Mode" einstellen?
Wenn du QT5 verwendest, enforced MetaDarkTheme bei ForceDark den style "Fusion", was das standard Darktheme von QT5 ist.
Das gesagt, unter Linux am besten einfach nix enforcen, da kümmert sich das Widgetset drum das alles so aussieht wie der Nutzer es haben will.
Das gesagt, unter Linux am besten einfach nix enforcen, da kümmert sich das Widgetset drum das alles so aussieht wie der Nutzer es haben will.
-
- Beiträge: 1579
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: "Dark Mode" einstellen?
Das mit "uDarkStyle..." hat funktioniert, vielen Dank!
EleLa - Elektronik Lagerverwaltung - www.elela.de