Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Wallpaper ermitteln/setzen (https://www.delphipraxis.net/53873-wallpaper-ermitteln-setzen.html)

CalganX 24. Sep 2005 10:32


Wallpaper ermitteln/setzen
 
Eine kleine Erweiterung zum Beitrag "Wallpaper ermitteln/setzen":

alexander hat hier einen Sourcen von Duffy gepostet:
Delphi-Quellcode:
//-----------------------------------------------------------------------//

//#######################################################################//
//## Procedure ChangeWallpaper:                                       ##//
//#######################################################################//
//##      Datum: Änderung:                                            ##//
//##      ====== =========                                            ##//
//##  10.07.1998 Initial Release                                      ##//
//#######################################################################//
procedure ChangeWallpaper(BmpName: string; Tile: Boolean);
var
  Registry: TRegIniFile;
begin
  Registry := TRegIniFile.Create('Control Panel');
  try
    Registry.WriteString('Desktop', 'Wallpaper', BmpName);
    if Tile then
    begin
      Registry.WriteString('Desktop', 'TileWallpaper', '1');
    end
    else
    begin
      Registry.WriteString ('Desktop', 'TileWallpaper', '0');
    end;
  finally
    Registry.Free;
  end;
  SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, nil, SPIF_SENDWININICHANGE);
end;
Eine kleine Änderung von glkgereon und Khabarakh:
Delphi-Quellcode:
procedure ChangeWallpaper(BmpName: string; Tile: Boolean);
var
  Registry: TRegIniFile;
begin
  Registry := TRegIniFile.Create('Control Panel');
  try
    Registry.WriteString('Desktop', 'Wallpaper', BmpName);
    Registry.WriteString('Desktop', 'TileWallpaper', Chr(Ord('0') + Ord(Tile))); //entsprechende Zeile
  finally
    Registry.Free;
  end;
  SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, nil, SPIF_SENDWININICHANGE);
end;
Noch eine Erweiterung von mir. Der Unterschied besteht darin, dass nicht nur Tiles verwendet werden können, sondern auch "Stretch" und "Center" (getestet unter WinXP):
Delphi-Quellcode:
// Parameter "Mode": 0 für Zentriert, 1 für Tiles (Nebeneinander) und 2 für Stretch (Strecken) (Zahlen jeweils als String)
procedure ChangeWallpaper(FileName: string; Mode: string);
var
  Registry: TRegIniFile;
begin
  Registry := TRegIniFile.Create('Control Panel');
  try
    Registry.WriteString('Desktop', 'Wallpaper', FileName);
    Registry.WriteString('Desktop', 'WallpaperStyle', Mode);
  finally
    Registry.Free;
  end;
  SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, nil, SPIF_SENDWININICHANGE);
end;

DP-Maintenance 30. Sep 2005 17:08

DP-Maintenance
 
Dieses Thema wurde von "Chakotay1308" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Sonstige Fragen zu Delphi" verschoben.
Befindet sich nun hier in der Code-Library.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:09 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