Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Windows Farben aktualisieren (https://www.delphipraxis.net/589-windows-farben-aktualisieren.html)

Sebastian Nintemann 11. Aug 2002 14:14


Windows Farben aktualisieren
 
Ehm, keine Ahnung wo dieses Thema am besten hinpasst, aber ich denke mal am ehesten hier.
Also ich schreib ein Prgramm mit dem man die Windows Farben verändern kann, denn wenn man das mit Anzeige macht kann man bestimmte Farben nicht einzeln verändern (Windows ändert dann auch andere Farben, die ich garnicht ändern will). Bis jetzt hab ich dann immer direkt in der Registry die Einstellungen geändert, und jetzt will ich das ganze in nem Programm umsetzen. Mein Problem ist nur, dass die Änderungen erst nach nem Neustart wirksam werden, ist ja auch irgenwie logisch dass Windows die Farbwerte nicht ständig neu einliest. Wenn man die Farben über Anzeige -> Darstellung verändert gibt es einen "Übernehmen" Button der genau das macht was ich will, nämlich alles aktualisiert. Hat einer ne Idee wie ich Windows dazu bringen könnte die neuen Farben zu nehmen?

Gruß Sebastian

MathiasSimmack 11. Aug 2002 14:26

Hm ... probier mal, die WM_SYSCOLORCHANGE zu senden. Parameter hat sie nicht, deswegen sind WPARAM und LPARAM also Null. Vielleicht hilft das ja schon weiter.

Sebastian Nintemann 11. Aug 2002 22:39

Also ich hab mal Testweise meinem Fenster die Nachricht gesendet und auch noch WM_PAINT, vorher den Reg-Eintrag geändert. Ich konnte das WM_SYSCOLORCHANGE abfangen, getan hat sich aber leider nichts. Laut MSDN sendet das System beim ändern der Systemfarben eben diese zwei Nachrichten. hmm, sonst noch Ideen?

Gruß Sebastian

Luckie 12. Aug 2002 06:09

Ja. Probier mal: WM_SETTINGCHANGE.

Sebastian Nintemann 12. Aug 2002 14:17

Ich hab mal die Nachrichten WM_SETTINGCHANGE und WM_SYSCOLORCHANGE abgefangen, wenn ich mit Anzeige->Darstellung die Farben ändere krieg ich nur eine WM_SYSCOLORCHANGE. Wenn ich diese allerdings nach bearbeiten der Registry selber sende werden die neuen Farben nicht übernommen, die Fenster kriegen zwar die Nachricht das es neue Farben gibt, Windows liest diese aber nicht neu aus der Registry -> die neuen Farben sind nicht zu sehen :(
Wie bringe ich Windows dazu die Farbvariablen neu aus der Registry einzulesen, oder diese selbst zu verändern?

Daniel B 12. Aug 2002 14:19

Zitat:

Zitat von Grotesquery
Wie bringe ich Windows dazu die Farbvariablen neu aus der Registry einzulesen, oder diese selbst zu verändern?

Nur bei neu starten wird die Reg neu Eingelesen.

Sebastian Nintemann 12. Aug 2002 16:21

Und wie kann ich die Farbvariablen selbst verändern? Irgendwie muss das ja gehen... (hoffe ich :mrgreen:)

Gruß Sebastian

Sebastian Nintemann 13. Aug 2002 20:14

SetSysColors sollte wohl funktionieren.
Das Windows SDK liefert auch noch unter GetSysColor eine Liste von Parametern für die einzelnen Werte.

Gruß Sebastian


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:22 Uhr.

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