Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Windows 10 Fenstertitelfarbe ermitteln (https://www.delphipraxis.net/187959-windows-10-fenstertitelfarbe-ermitteln.html)

DCoderHH 19. Jan 2016 15:18

Windows 10 Fenstertitelfarbe ermitteln
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

wie kann ich unter Windows 10 die Farbe der Fenstertiteleiste (aktiv und inaktiv) ermitteln?

Bei mir ist die aktive auf blau und die inaktive auf weiß eingestellt. Zu sehen im angehängten Bildschirmfoto.

Danke :-)

Uwe Raabe 19. Jan 2016 15:27

AW: Windows 10 Fenstertitelfarbe ermitteln
 
GetSysColor

himitsu 19. Jan 2016 15:33

AW: Windows 10 Fenstertitelfarbe ermitteln
 
clActiveCaption clInactiveCaption ColorToRGB

Aber z.B. bei Windows 7 mit den Styles ist das nicht mehr so einfach.

DCoderHH 20. Jan 2016 08:04

AW: Windows 10 Fenstertitelfarbe ermitteln
 
Danke, aber weder GetSysColor noch clActiveCaption/clInactiveCaption liefern die richtigen Farben. clActiveCaption/clInactiveCaption werden von Delphi mit GetSysColor belegt, daher haben diese Konstanten exakt die selben Farben.

Windows 7 ist nicht wichtig. Ich brauche das nur für Window 10. Muss/kann man das evtl. über die Themes irgendwie auslesen?

DCoderHH 20. Jan 2016 08:05

AW: Windows 10 Fenstertitelfarbe ermitteln
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hier noch ein Bild, wie die Farben sein sollen wie und sie aber mit den oben genannten Lösungen falsch aussehen.

Uwe Raabe 20. Jan 2016 08:19

AW: Windows 10 Fenstertitelfarbe ermitteln
 
Wo hast du denn die verwendeten Farben eingestellt?

DCoderHH 20. Jan 2016 08:26

AW: Windows 10 Fenstertitelfarbe ermitteln
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1327559)
Wo hast du denn die verwendeten Farben eingestellt?

Im Code per:

Delphi-Quellcode:
pSysColorActive.Color := GetSysColor(COLOR_ACTIVECAPTION);
pSysColorInactive.Color := GetSysColor(COLOR_INACTIVECAPTION);

Der schöne Günther 20. Jan 2016 08:45

AW: Windows 10 Fenstertitelfarbe ermitteln
 
Kann ich bestätigen, mir geht es genauso.

Nicht vergessen: Mit Windows 10 waren erst einmal alle Fenster weiß. Egal ob aktiv oder inaktiv. Erst seit dem "November-Update" kann man einstellen dass die "Benutzerfarbe" sich auch auf die Titelbar des aktiven Fensters auswirkt. Das ist die gleiche Farbe die man z.B. auch im Action Center oder Startmenü haben kann.

DCoderHH 20. Jan 2016 08:49

AW: Windows 10 Fenstertitelfarbe ermitteln
 
Ich vermute sogar, dass GetSysColor(COLOR_ACTIVECAPTION) auch unter Windows 8 nicht funktioniert, da in der Hilfe die Rede von einem Farbverlauf ist, den es schon bei Windows 8 und 8.1 nicht mehr gab. Wer kann das mal testen?

himitsu 20. Jan 2016 09:13

AW: Windows 10 Fenstertitelfarbe ermitteln
 
Zitat:

Windows 7 ist nicht wichtig. Ich brauche das nur für Window 10. Muss/kann man das evtl. über die Themes irgendwie auslesen?
Seit XP und vorallem seit Vista/7 werden die Fenster vom System geskinnt und daher stimmen die "alten" APIs nicht mehr ganz.

Was man zumindestens machen kann, ist sich von Windows das Control (hier ein Fenster mit Rahmen) in ein Bitmap zeichnen zu lassen oder halt über den Desktop an ein Fenster ran zu gehen und dann die Farbe eines Pixels auszulesen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:55 Uhr.
Seite 1 von 2  1 2      

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