Arkadaşlar form üzerindeki bir butona basıldığı zaman içeriden vereceğim bir adresteki resmi veya opendialog tan da seçtireceğim resmi arka plana atamak yani duvar kağıdı yapmak için nasıl bir kod kullanmam gerekiyor.
varsa böyle birşey ayarlarını yapabiliyormuyoz. yani ekrana döşe, genişlet gibi ayarları kastediyorum.
Masaüstü arka plan resmi
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Masaüstü arka plan resmi
Y.S.K.
Yazılım Sistemleri
Yazılım Sistemleri
Selam
Öncelikle belirteyim ki Windows wallpaper olarak BMP kabul ediyor (Normalde Jpg vs seçebiliyoruz ama burada wallpaper için kullandığımız API nin bunun beklediğini bilmemiz gerekiyor.)
Eğer bir Jpg wallpaper olacak sa önce onu BMP ye convert edip. Sonra windowsa tanımlamak gerekir. Aşağıdaki kod bu convertion işlemini yapar.
Burada
SystemParametersInfo(SPI_SETDESKWALLPAPER,0, nil, SPIF_SENDWININICHANGE);
komutunu bildiğini düşünüyorum..
Öncelikle belirteyim ki Windows wallpaper olarak BMP kabul ediyor (Normalde Jpg vs seçebiliyoruz ama burada wallpaper için kullandığımız API nin bunun beklediğini bilmemiz gerekiyor.)
Eğer bir Jpg wallpaper olacak sa önce onu BMP ye convert edip. Sonra windowsa tanımlamak gerekir. Aşağıdaki kod bu convertion işlemini yapar.
Kod: Tümünü seç
procedure TForm1.ConvertJpgToBitmap(Jpeg: TJpegImage);
var
bmp: TBitmap;
dir: String;
begin
dir := GetWindowsDir;
bmp := TBitmap.Create;
try
Jpeg := TJpegImage.Create;
Jpeg.LoadFromFile('somejpeg.jpg');
with bmp do
begin
Width := Jpeg.Width;
Height := Jpeg.Height;
Canvas.Draw(0, 0, Jpeg);
SaveToFile('somebmp.bmp');
Free;
end;
finally
Jpeg.Free;
end;
end;
SystemParametersInfo(SPI_SETDESKWALLPAPER,0, nil, SPIF_SENDWININICHANGE);
komutunu bildiğini düşünüyorum..