original Window Farben auslesen

Anfängerfragen zum Programmieren mit PureBasic.
northstarex
Beiträge: 103
Registriert: 25.08.2013 18:04
Computerausstattung: alles mögliche^^
Wohnort: Schöppenstedt
Kontaktdaten:

original Window Farben auslesen

Beitrag von northstarex »

Hallo,

wie bekomme ich die benutzen Farbwerte vom der Fenster-Titelzeile und Border ausgelesen, also von den Fenstern vom eigentlichen Betriebssystem (z.b. win10)?

thx
Bild
Benutzeravatar
Varistor
Beiträge: 18
Registriert: 12.10.2004 21:38
Wohnort: Schwerin

Re: original Window Farben auslesen

Beitrag von Varistor »

DAS würde mich auch mal brennend interessieren. Was ich mich damit schon gequält habe... Ich weiß, dass man das alles wunderbar mit der dwmapi-API lösen kann...ich habe es allerdings nicht ausgelesen bekommen. Außerdem scheint es auch erhebliche Unterschiede zwischen Win 7, 8 und 10 zu geben. Die Werte die ich erhielt, waren immer abweichend vom tatsächlichen Wert. Toll, wenn das hier jemand wüßte, wie es richtig geht.
Benutzeravatar
jacdelad
Beiträge: 341
Registriert: 03.02.2021 13:39
Computerausstattung: Ryzen 5800X, 108TB Festplatte, 32GB RAM, Radeon 7770OC
Wohnort: Riesa
Kontaktdaten:

Re: original Window Farben auslesen

Beitrag von jacdelad »

GetSysColor_() ist dein Freund: https://docs.microsoft.com/en-us/window ... etsyscolor

Die entsprechenden Konstanten sind in PureBasic schon eingebaut.
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

Re: original Window Farben auslesen

Beitrag von Bisonte »

jacdelad hat geschrieben: 22.08.2021 23:22 GetSysColor_() ist dein Freund: https://docs.microsoft.com/en-us/window ... etsyscolor

Die entsprechenden Konstanten sind in PureBasic schon eingebaut.
Eigentlich ja,nur bei Windows 10 ist die Sache etwas anders... Man bekommt zwar die Standardfarbe, aber nicht die Farbe die man sieht.
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
northstarex
Beiträge: 103
Registriert: 25.08.2013 18:04
Computerausstattung: alles mögliche^^
Wohnort: Schöppenstedt
Kontaktdaten:

Re: original Window Farben auslesen

Beitrag von northstarex »

GetSysColor_() ist dein Freund: https://docs.microsoft.com/en-us/window ... etsyscolor

Die entsprechenden Konstanten sind in PureBasic schon eingebaut.
Ist ja cool, und welche "entsprechenden Konstanten" sind das?
Bild
Benutzeravatar
jacdelad
Beiträge: 341
Registriert: 03.02.2021 13:39
Computerausstattung: Ryzen 5800X, 108TB Festplatte, 32GB RAM, Radeon 7770OC
Wohnort: Riesa
Kontaktdaten:

Re: original Window Farben auslesen

Beitrag von jacdelad »

northstarex hat geschrieben: 23.08.2021 14:05 Ist ja cool, und welche "entsprechenden Konstanten" sind das?
Die Konstanten stehen im Artikel, du musst nur ein # davorsetzen. Beispiel: GetSysColor_(#COLOR_BTNFACE)
Bisonte hat geschrieben: 23.08.2021 07:28 Eigentlich ja,nur bei Windows 10 ist die Sache etwas anders... Man bekommt zwar die Standardfarbe, aber nicht die Farbe die man sieht.
Oh, das wusste ich nicht. Ich hab GetSysColor weiterhin benutzt und hatte keine Probleme. Kannst du das genauer erläutern und gibt es Abhilfe?
Benutzeravatar
Varistor
Beiträge: 18
Registriert: 12.10.2004 21:38
Wohnort: Schwerin

Re: original Window Farben auslesen

Beitrag von Varistor »

Stimmt, mit GetSysColor bekommt man die Systemfarben z.B. für die Gadgets. Aber eben nicht die Farbe der Fenster-Titelzeile !
Man kann natürlich diese Farbe auch aus der Registry lesen (#HKEY_CURRENT_USER Software\Microsoft\Windows\DWM). Leider sind diese Werte aber erstaunlicherweise nicht die Farben, die dann tatsächlich angezeigt werden.
northstarex
Beiträge: 103
Registriert: 25.08.2013 18:04
Computerausstattung: alles mögliche^^
Wohnort: Schöppenstedt
Kontaktdaten:

Re: original Window Farben auslesen

Beitrag von northstarex »

hmmm.... dann halt mit Brecheisen :D

Also einmal ein Windowsfenster klein öffnen, den Bereich grabben und dann die Farbe ermitteln. Ist zwar unschön, aber geht erstmal ;)
Bild
Benutzeravatar
Varistor
Beiträge: 18
Registriert: 12.10.2004 21:38
Wohnort: Schwerin

Re: original Window Farben auslesen

Beitrag von Varistor »

Ganz genau. So habe ich es damals auch gemacht. Nun, vielleicht weiß ja doch noch jemand, wie es professionell geht...
northstarex
Beiträge: 103
Registriert: 25.08.2013 18:04
Computerausstattung: alles mögliche^^
Wohnort: Schöppenstedt
Kontaktdaten:

Re: original Window Farben auslesen

Beitrag von northstarex »

naja, was ist schon professionell? Wenn ich mir so einige Microsoft Tools so ansehe, dass für ein Bruchteil einer Sek. ein Dosfenster öffnet, dann ist mein erwähntes "Brecheisen" sowat von Super-Professionell, oder? ;) :D
Bild
Antworten