Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   KodeZwerg's Real Theme Beispiel (https://www.delphipraxis.net/207862-kodezwergs-real-theme-beispiel.html)

venice2 10. Mai 2021 17:44

AW: KodeZwerg's Real Theme Beispiel
 
Siehe Edit!

KodeZwerg 10. Mai 2021 17:47

AW: KodeZwerg's Real Theme Beispiel
 
Zitat:

Zitat von venice2 (Beitrag 1489065)
EDIT:
Habe es so verstanden wenn Wallpaper verwendet wird setzt du den Mittelwert der Farbe davon.

Korrekt!

Zitat:

Zitat von venice2 (Beitrag 1489065)
Welchen wert setzt du nun bei der Volltonfarbe? (Denke das ist was @Tigü meint). Den Bekommst du nur aus der registry
Der Pfad fehlt definitiv in deinem Code (HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper)

Delphi-Quellcode:
procedure TfrmMain.ApplyDesktopColors;
begin
  FBackgroundColor := GetSysColor(COLOR_DESKTOP); <<<--- diesen hier = Volltonfarbe
  case cbSimpleFont.Checked of
    True:
      FTextColor := SimpleInvertColor(FBackgroundColor);
    false:
      FTextColor := InvertColor(GetSysColor(COLOR_DESKTOP));
  end;
  UpdateColors;
end;
//edit
und kaum poste ich es, fällt mir ein fehler auf, danke fürs fragen!

venice2 10. Mai 2021 17:49

AW: KodeZwerg's Real Theme Beispiel
 
Delphi-Quellcode:
FBackgroundColor := GetSysColor(COLOR_DESKTOP); <<<--- diesen hier = Volltonfarbe

Ok erklärt alles. Sollte das gleiche wie der Wert aus der Registry sein (hoffe ich mal) ;)

Zitat:

Der Pfad fehlt definitiv in deinem Code (HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper)
Den Pfad hatte ich nochmals korrigiert. Sorry (HKEY_CURRENT_USER\Control Panel\Colors\Background)

Zitat:

und kaum poste ich es, fällt mir ein fehler auf, danke fürs fragen!
Ich sehe nur eins.
Delphi-Quellcode:
FTextColor := InvertColor(GetSysColor(COLOR_DESKTOP)); // FTextColor := InvertColor(FBackgroundColor);


Na dann weiter viel Spaß.

KodeZwerg 10. Mai 2021 18:06

AW: KodeZwerg's Real Theme Beispiel
 
Was mir echt weiterhelfen würde, vielleicht kennst Du ja was, Farbwert für Fonts.... siehst ja mein kläglichen Versuch was brauchbares rauszuholen.
Windows muss doch dafür auch irgendwo was haben, ich fand bis jetzt nichts brauchbares.
GetSysColor() wäre mir da am liebsten, bei Mircosoft gabs auch keine Treffer auf meine Anfragen.

//edit
"FTextColor" ist die Font-Farbe bei mir, falls das noch unklar sein sollte.

Zitat:

Na dann weiter viel Spaß.
Danke, den habe ich, dir auch alles Gute!

venice2 10. Mai 2021 18:24

AW: KodeZwerg's Real Theme Beispiel
 
GetThemeSysColor (aber keine gewähr das du nicht schwarz bekommst das hängt mit dem hohen Kontrast zusammen)
GetThemeColor.
GetThemeSysColorBrush

oder für Glass.
DwmGetColorizationParameters
DwmGetColorizationColor
oder schau mal unter
HKCU\SOFTWARE\Microsoft\Windows\DWM, ColorizationColor

Zitat:

"FTextColor" ist die Font-Farbe bei mir, falls das noch unklar sein sollte.
Ist klar
Nur wo ist nun der Unterschied zwischen
Delphi-Quellcode:
FTextColor := InvertColor(GetSysColor(COLOR_DESKTOP));

und
Delphi-Quellcode:
FTextColor := InvertColor(FBackgroundColor);

Richtig! Keiner, nur das du die Funktion GetSysColor mit FBackgroundColor schon ermittelt hast.
Also warum dann nochmals.

KodeZwerg 10. Mai 2021 18:30

AW: KodeZwerg's Real Theme Beispiel
 
Super :o das es mehr als eins gibt! :thumb:
Dankeschön, werde ich alle mal durchtesten, meine Anwendung übernimmt ja sofort bei einer Änderung die Werte.
:dp:

//edit
Zitat:

Ich sehe nur eins.
Genau das wars! hehehe

KodeZwerg 10. Mai 2021 18:53

AW: KodeZwerg's Real Theme Beispiel
 
Zitat:

Zitat von venice2 (Beitrag 1489074)
Zitat:

"FTextColor" ist die Font-Farbe bei mir, falls das noch unklar sein sollte.
Ist klar
Nur wo ist nun der Unterschied zwischen
Delphi-Quellcode:
FTextColor := InvertColor(GetSysColor(COLOR_DESKTOP));

und
Delphi-Quellcode:
FTextColor := InvertColor(FBackgroundColor);

Richtig! Keiner, nur das du die Funktion GetSysColor mit FBackgroundColor schon ermittelt hast.
Also warum dann nochmals.

Der Unterschied liegt in den Methoden die da aufgerufen werden. :-]

Delphi-Quellcode:
FTextColor := SimpleInvertColor(FBackgroundColor);
FTextColor := InvertColor(FBackgroundColor);
SimpleInvertColor = endet in schwarz oder weiß und hat probleme mit grau werten
InvertColor = führt eine extrem schwierige kalkulation durch lol (und hat auch so seine probleme)

Danke für Deine "Link" nachträge!!!

venice2 10. Mai 2021 19:11

AW: KodeZwerg's Real Theme Beispiel
 
Zitat:

Der Unterschied liegt in den Methoden die da aufgerufen werden. :-]
Meinst du das ernst?

Es ging nicht um die Methode (War mir bekannt) sondern darum das du hier eine Funktion doppelt bedienst von der du den Wert zu FBackgroundColor schon ermittelt hattest.
Warum einen Wert nochmals ermitteln den ich schon habe.

OK! Bin raus ;)

KodeZwerg 10. Mai 2021 19:26

AW: KodeZwerg's Real Theme Beispiel
 
Zitat:

Zitat von KodeZwerg (Beitrag 1489069)
und kaum poste ich es, fällt mir ein fehler auf, danke fürs fragen!

Zitat:

Zitat von venice2 (Beitrag 1489070)
Ich sehe nur eins.
Delphi-Quellcode:
FTextColor := InvertColor(GetSysColor(COLOR_DESKTOP)); // FTextColor := InvertColor(FBackgroundColor);

Zitat:

Zitat von KodeZwerg (Beitrag 1489076)
Genau das wars! hehehe

Ich dachte das war bereits durch damit und empfand "Nur wo ist nun der Unterschied zwischen" als ein Vergucker von Dir.
Zitat:

Zitat von venice2 (Beitrag 1489082)
OK! Bin raus ;)

Ich wollt Dich nicht kränken. Schade!

KodeZwerg 10. Mai 2021 19:47

AW: KodeZwerg's Real Theme Beispiel
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich glaube die Idee mit "Glas" verwerfe ich mal schnell wieder, hat zwar was lustiges aber so richtig reizt es mich doch nicht. Da müsste ich zu viel anpassen damit es irgendwie ordentlich wirkt, siehe Anhang.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:33 Uhr.
Seite 2 von 3     12 3      

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