Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Desktop Darstellung ändern (https://www.delphipraxis.net/34423-desktop-darstellung-aendern.html)

adecke 23. Nov 2004 02:26


Desktop Darstellung ändern
 
Hallo,

hab die halbe nacht gesucht und nichts gefunden.
Möchte gerne den Desktop anpassen läuft im Moment so.

Delphi-Quellcode:
procedure SetColors
var
 Element: Integer;
 NewColor: TColor;
begin
 NewColor := clRed;
 Element := color_background;
 SetSysColors(Element, Element, NewColor);

 PostMessage(HWND_BROADCAST,WM_SETTINGCHANGE,0,0);
 // Diverse Message wurden getestet z.B. auch WM_SYSCOLORCHANGE
end;
Das System übernimmt auch die Farbe. Leider ist dies aber nur
temporär. Nach einem Logoff/Reboot steht die alte Farbe wieder
drin. Irgenwie muss es doch möglich sein die Einstellung permanent
zu halten. Geht ja über den Dialog auch. Bin um jede Hilfe od. Tip
dankbar.

gruss adecke

Luckie 23. Nov 2004 03:21

Re: Desktop Darstellung ändern
 
Die Einstellungen werden wohl irgendwo in der Registry gespeichert sein, wo auch sonst.

Sprint 23. Nov 2004 04:18

Re: Desktop Darstellung ändern
 
Zitat:

Zitat von adecke
Das System übernimmt auch die Farbe. Leider ist dies aber nur temporär. Nach einem Logoff/Reboot steht die alte Farbe wieder drin.

Steht ja auch so im Platform SDK: The SetSysColors function changes the current session only. The new colors are not saved when the system terminates.[/quote]

mmh... ich dachte auch immer das es mit SetSysColors geht.

adecke 23. Nov 2004 11:06

Re: Desktop Darstellung ändern
 
Hi,

ja, an dem SetSysColor hab ich auch meinen Narren gefressen. Es ist mir
schleierhaft warum es damit nich geht (gehen soll). Was passiert eigenlich wenn
ein User im Dialog eine Farbe usw. ändert und auf den Übernehmen-Button
klickt. Setzt man die Farben mit SetSysColor so werden diese Änderungen
wohl im Dialog angezeigt, aber der Übernehmen Button ist Disabled.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz