Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Dark Theme aber nur die Farben (https://www.delphipraxis.net/209358-dark-theme-aber-nur-die-farben.html)

Phoner 26. Nov 2021 09:01

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.

Uwe Raabe 26. Nov 2021 10:29

AW: Dark Theme aber nur die Farben
 
Zitat:

Zitat von Phoner (Beitrag 1498226)
Im Endeffekt will ich auch gar keine speziellen Farben definieren, sondern die, welche auch im Explorer verwendet werden.

Sollte das nicht schon der Fall sein, wenn du keine VCL-Styles verwendest und immer schön die Systemfarben (clBtnFace usw.) nutzt?

Phoner 26. Nov 2021 11:22

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.

KodeZwerg 26. Nov 2021 13:55

AW: Dark Theme aber nur die Farben
 
Zitat:

Zitat von Phoner (Beitrag 1498242)
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.

kodezwergs-real-theme-beispiel <- das macht unter anderem genau das.

FriedrichAT 26. Nov 2021 22:41

AW: Dark Theme aber nur die Farben
 
Zitat:

Zitat von Phoner (Beitrag 1498226)
Hallo,

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.

Für die "Fensterfarbe" hab ich was...

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;

Phoner 29. Nov 2021 07:55

AW: Dark Theme aber nur die Farben
 
Zitat:

Zitat von KodeZwerg (Beitrag 1498257)
Zitat:

Zitat von Phoner (Beitrag 1498242)
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.

kodezwergs-real-theme-beispiel <- das macht unter anderem genau das.

Vielen Dank! Ja, genau so was in der Art habe ich gesucht. Leider behalten Buttons und einige andere Elemente ihre alte Darstellung. Der Mix sieht dann unschön aus. Bis auf Weiteres verabschiede ich mich deshalb von diesem Ansatz.

CodeX 2. Nov 2023 10:11

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?

Uwe Raabe 2. Nov 2023 12:12

AW: Dark Theme aber nur die Farben
 
Zitat:

Zitat von CodeX (Beitrag 1528874)
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?

Gibt es schon, aber aktuell muss man das noch selbst einbauen: Modernize Your App: Are You Handling Windows Themes Correctly?

Sherlock 2. Nov 2023 12:59

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:
procedure TForm1.WMSettingChange(var Message: TWMSettingChange);
begin
  if SameText('ImmersiveColorSet', String(Message.Section)) then
    // statt HandleThemes; sollte hier entsprechend Themeless reagiert werden
end;
ausgelöst wurde.

CodeX 2. Nov 2023 13:56

AW: Dark Theme aber nur die Farben
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1528880)
Gibt es schon, aber aktuell muss man das noch selbst einbauen: Modernize Your App: Are You Handling Windows Themes Correctly?

Der Artikel ist ja schon 2,5 Jahre alt und baut auch nur eine Umschaltung von Themes ein. Das sollte wirklich nicht notwendig sein. Das muss nativ gehen. Nachdem ich das in Windows umgeschaltet habe, sind so gut wie alle Anwendungen automatisch dunkel geworden, bis auf meine und ein paar ältere Programme.

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 06:14 Uhr.
Seite 1 von 3  1 23      

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