Einzelnen Beitrag anzeigen

hugo1990

Registriert seit: 27. Dez 2006
166 Beiträge
 
Turbo Delphi für Win32
 
#1

Fehler mit SetDesktopColor unter Windows 2000

  Alt 30. Dez 2006, 20:22
Mit folgender Procedure soll das Desktophintergrundbild entfernt werden und ein Farbe als Hintergrund festgelegt werden:
Delphi-Quellcode:
procedure TForm1.SetDesktopColor(clr:DWord);
var
  colorID:Integer;
  color:COLORREF;
begin
   // Remember current background color
  if FOldColor=CLR_INVALID then
    FOldColor:=GetSysColor(COLOR_BACKGROUND);

   // Set the desktop background color to the wanted one
  colorID:=COLOR_BACKGROUND;
  color:=clr;
  SetSysColors(1,colorID,color);

   // Remove the desktop wallpaper, without updating the registry
  SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, PChar(''), 0);
end;
Unter WinXP funzt das einwandfrei, aber als ich es auf den Rechner meiner Eltern (Win2000) ausprobiert habe, hat er das Hintergrundbild nicht entfernt und überall, wo weiß ist setzt er die angegebene Farbe. Weiß jemand, woran das liegen könnte.
  Mit Zitat antworten Zitat