Súgó - Keresés - Tagok - Naptár
Teljes változat: Háttérképet az asztalra, de hogyan?
PC WORLD Segélyvonal > SZOFTVER > Programozás > Delphi
Silent Psycho
Üdv mindenkinek!

1, Egy formon lévő képet hogyan tudnék beállítani háttérképnek? banghead.gif

2, Hogyan tudnám az asztalon lévő háttérkép elérési útját lekérdezni? banghead.gif

evil2.gif
web
Az első kérdésedet nem értem, de a másodikra a válasz talán értem a kérdésedet,
az nagyon egyszerű.
Start->beállítások->vezérlőpult->megjelenítés/és az Asztal fülre klikk!
google
Én még ilyet nem csináltam, de azt hiszem, egy bizonyos rendszermappában van mindig az aktuális háttérkép. Ha igaz, akkor elég oda bemásolni. roll.gif
TheSaurus
Magát a form képét, az egészet, vagy van rajta sok egyéb között egy kép, és azt? Bármivel lefényképezheted az aktuális képernyőt (IrfanView pl.), aztán a képernyőfotóval azt csinálsz, amit akarsz, nyújtod, átszínezed, kiteszed tapétának, az IrfanView ezt mind megcsinálja.
google
Van egy olyan érzésem, hogy nem értitek a kérdést. smile.gif

!Psycho! azt szeretné, ha lenne a programjában több kép, és talán egy gombra kattintás eseményeként beállítódna az aktuális háttérképnek, vagy talán még az éppen aktuális háttérkép is megjelenne a formon.
Erre mondtam, hogy mintha egy bizonyos rendszermappában lenne az éppen aktuális, és azt kell lecserélni. De ebben nem vagyok biztos.
web
Igen!
Egy rendszer mappában van mindig az aktuális kép.
Egészen pontossan.
C:/dokumentum and Settings/felhasználónév pl. kis jani/Local settings/Application Data/Microsoft és ezen belül van egy Wallpaper1.gif nevű kép és oda teszi be a képeket.
Silent Psycho
bulb.gif

Megcsináltam! biggrin.gif (bár kicsit kezdetleges, de működik)


Egy formon elhelyeztem egy image-t és két button-t. Az image-be betöltöttem egy jpg-t.

procedure TForm1.Button1Click(Sender: TObject);
var
pic1: tbitmap;
reg1: tregistry;
ini1: tinifile;

begin
pic1:= tbitmap.Create;
reg1:= tregistry.Create;
ini1:= tinifile.Create('C:\1.ini');

//image1 mentése bmp-be

try with pic1 do
begin
assign(image1.Picture.Graphic);
savetofile('C:\1.bmp');
end;
finally
pic1.Free;
end;

//az eredeti háttérkép elérési útjának kiolvasása a registry-ből

try with reg1 do
begin
rootkey:= HKEY_CURRENT_USER;
if openkey('\Control Panel\Desktop\',false) then
caption:= readstring('Wallpaper');
end;
finally
reg1.Free;
end;

//az eredeti háttérkép elérési útjának mentése ini-be

try with ini1 do
begin
writestring('Orwllp','1',caption);
end;
finally
ini1.Free;
end;

//a fájlba kimentett kép betétele háttérnek, button1 letiltása

SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, PChar('C:\1.bmp'), SPIF_SENDWININICHANGE);
button1.Enabled:= false;

end;

procedure TForm1.Button2Click(Sender: TObject);
var
ini2: tinifile;

begin
ini2:= tinifile.Create('C:\1.ini');

//az eredeti háttérkép elérési útjának kiolvasása ini-ből

try with ini2 do
begin
caption:= readstring('OrWllp','1','');
end;
finally
ini2.Free
end;

//az eredeti háttérkép visszarakása háttérnek, button1 engedélyezése

SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, PChar(caption), SPIF_SENDWININICHANGE);
button1.Enabled:= true;

end;


evil2.gif
Ez a tartalom egy lebutítottváltozata. A teljes változat képekkel kiegészült megtekintéséhez kérünk, kattints ide.