Friday, June 09, 2006

Změna tapety

Ukážeme si dva způsoby, jak změnit tapetu pracovní plochy. První pracuje přímo s registry a je řekněme komplexnější, druhý způsob je zase o něco kratší. Osobně bych se přikláněl k prvnímu způsobu, protože i zdrojový kód je o něco přehlednější a jasnější.
Tak tedy první způsob. Jak bylo řečeno, budeme pracovat s registry, takže nezapomeňte připojit jednotku Registry.
procedure Wallpaper(nazevsouboru:string;dlazdice,roztahnout:boolean);
var reg : TRegIniFile;
begin
reg := TRegIniFile.Create('Control Panel\Desktop');
with reg do
begin

WriteString('', 'Wallpaper', nazevsouboru);
if dlazdice then WriteString('', 'TileWallpaper', '1')
else WriteString('', 'TileWallpaper', '0');

if roztahnout then WriteString('', 'WallpaperStyle', '2')
else WriteString('', 'WallpaperStyle', '0');

end;
reg.Free;
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, Nil, SPIF_SENDWININICHANGE);
end;