Entwickler-Ecke
Windows API - Wie kann ich die Desktop-Farben sofort ändern?
Tendl - Mo 10.03.03 10:26
Titel: Wie kann ich die Desktop-Farben sofort ändern?
Ich möchte verschiedene Desktopfarben ändern. Im Prinzip funktioniert das auch über die Registry. Allerdings wird die Änderung erst nach dem nächsten Neustart wirksam.
Wie kann ich die Farben sofort zur Anzeige bringen?
Danke
Thomas
Popov - Mo 10.03.03 10:45
Versuch mal mit der API Funktion GetSysColor(). Hier ein Beispiel für Desktopfarbe:
Quelltext
1:
| Color := GetSysColor(COLOR_DESKTOP); |
Andere Farben haben andere Konstanten. Guck dazu in der API Hilfe.
OregonGhost - Mo 10.03.03 12:48
Ist mir neu, das man mit GetSysColor() die Farben verändern kann ;c)
SetSysColors() heißt hier das Zauberwort. Gilt allerdings nur für die laufende Sitzung. In die Registry schreiben musst du also trotzdem, wenn die Änderungen nach Neustart erhalten bleiben sollen. Alternativ kannst du auch einfach (wie SetSysColors()) WM_SYSCOLORCHANGE an alle Fenster senden und diese auffordern, sich neu zu zeichnen.
Tendl - Mo 10.03.03 13:46
Vielen Dank, genau das war's.
Thomas
Popov - Mo 10.03.03 13:56
OregonGhost hat folgendes geschrieben: |
Ist mir neu, das man mit GetSysColor() die Farben verändern kann ;c) |
Irgendwie kann man davon ausgehen, daß eine Get-Funktion auch ein Set-Gegenstück hat. Sommit kann man fast immer von einer Get-Empfehlung auf eine Set-Funktion schließen.
Ich sehe da also kein Problem drinn.
Raphael O. - Mo 10.03.03 23:12
das weiß aber nicht jeder....
und du kannst dann ja auch gleich setXXXX schreiben...
torstenheinze - Mo 10.03.03 23:16
nicht zu jeder get funktion gibt es auch immer einen set funktion
frag jez net nach nen beispiel :wink:
Popov - Di 11.03.03 00:26
Ich hab ja auch geschreiben fast immer.
Ich gebe zu, daß ich mich verschreiben habe und eigentlich SetBlaBla schreiben wollte. Aber ich war schon auf dem halben weg den Rechner runterzufahren und hab nicht 100% drauf geachtet was ich schreibe.
Aber dennoch bin ich der Meinung, daß man bei einem Get oder Set man immer selbst prüfen kann ob es ein Gegenstück gibt.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!