![]() |
Dark Theme aber nur die Farben
Hallo,
mir ist klar, dass ich Themes verwenden kann. Mein Problem dabei ist, dass die Elemente anders gezeichnet werden. Ich möchte die nativen Steuerelemente, aber nur in einem anderen Farbschema. Geht das überhaupt. Im Endeffekt will ich auch gar keine speziellen Farben definieren, sondern die, welche auch im Explorer verwendet werden. Dazu gehört eben auch, dass ich keine anderen Symbole für Min/Max/Close haben möchte und auch die gleiche Fensterfarbe für aktives Fenster oder Fenster ohne Fokus. |
AW: Dark Theme aber nur die Farben
Zitat:
|
AW: Dark Theme aber nur die Farben
Ja, meine Anwendung sieht nativ aus, aber eben hell. Wenn ich Windows selbst auf Dark Mode stelle, ändern sich die Explorer-Fenster, aber nicht meine Applikation. Ideal wäre es, wenn man in der Applikation ein Color-Set komplett setzen könnte, welches dem Color-Set von Windows entspricht.
|
AW: Dark Theme aber nur die Farben
Zitat:
![]() |
AW: Dark Theme aber nur die Farben
Zitat:
Delphi-Quellcode:
function Get_Color: TColor;
var Frm: TForm; CH:TCanvas; begin Frm:= TForm.Create(Application); CH:= TCanvas.create; try Frm.Caption:= ''; Frm.BorderStyle:= bsToolwindow; Frm.SetBounds(0, 0, 80, 50); Frm.FormStyle:= fsStayOnTop; Application.ShowMainForm:= False; Frm.Show; CH.Handle:= GetWindowDC(GetDesktopWindow); result:= WinApi.Windows.GetPixel(CH.Handle, Frm.Left+12, Frm.Top+12); finally CH.Free; Frm.Free; Application.ShowMainForm:= True; end; end; procedure TForm1.FormCreate(Sender: TObject); begin Memo1.Color:= Get_Color; end; |
AW: Dark Theme aber nur die Farben
Zitat:
|
AW: Dark Theme aber nur die Farben
Da dies genau meine Frage ist und ich keinen passenderen Thread gefunden habe, hole ich das hier nochmal rauf.
Gibt es denn immer noch keine Möglichkeit, dass die Delphi VCL Anwendung unter Windows 11 im nativen Dark Mode (System Einstellungen (Win+I) > Personalisieren > Farben > Modus: Dunkel) sich automatisch anpasst? Ich verstehe schon, dass es schon länger die Möglichkeit gibt, Themes zu verwenden und diese dann gezielt umzuschalten, aber das ist ja nicht das Gleiche. Oder übersehe ich da nur Etwas? |
AW: Dark Theme aber nur die Farben
Zitat:
![]() |
AW: Dark Theme aber nur die Farben
Ok, das sind Delphi-VCL-Themes. Aber wie sieht das mit Windows-Systemfarben aus? Das weiter oben erwähnte clButtonFace. Man muss der Anwendung doch "nur" beipulen, daß sie alle Controls an die neuen Systemfarben anzupassen hat, sobald dieses Event
Delphi-Quellcode:
ausgelöst wurde.
procedure TForm1.WMSettingChange(var Message: TWMSettingChange);
begin if SameText('ImmersiveColorSet', String(Message.Section)) then // statt HandleThemes; sollte hier entsprechend Themeless reagiert werden end; |
AW: Dark Theme aber nur die Farben
Zitat:
Gibt es da bei Embarcadero keinerlei Bestrebungen oder Ankündigungen? Ich weiß ehrlich gesagt gar nicht, ob das in Windows 10 schon möglich war, aber selbst Windows 11 ist ja schon über 2 Jahre auf dem Markt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz