Bonjour à toutes et à tous,
J'ai une procédure pour charger des images aux différents formats.
J'applique un cadre de couleur.
Puis je sauve le résultat dans le répertoire adéquat.
Tout cela fonctionne, mais dès que je veux tester en utilisant cette procédure, comme elle m'oblige à utiliser le Topendialog.filename (Bdimage) alors que j'ai le résultat dans un Timage ou dans le dossier adéquat, je n'ai pas les effets sur mon image.
La procédure
L'Appel de cette procédure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 procedure ApplyWallPaper(FileName: string; wpStyle: DWORD = WPSTYLE_CENTER); const GUID: TGUID = '{75048700-EF1F-11D0-9888-006097DEACF9}'; var ComObj : IUnknown; Buffer : PWideChar; WallPaperOpt : TWallPaperOpt; begin if not FileExists(FileName) then Exit; Buffer := AllocMem(MAX_PATH); StringToWideChar(FileName, Buffer, MAX_PATH); WallPaperOpt.dwStyle := wpStyle; WallPaperOpt.dwSize := SizeOf(WallPaperOpt); ComObj := CreateComObject(GUID); with ComObj as IActiveDesktop do begin SetWallpaperOptions(WallPaperOpt, 0); SetWallpaper(Buffer, 0); ApplyChanges(AD_APPLY_ALL); //(AD_APPLY_ALL or AD_APPLY_FORCE); end; FreeMem(Buffer); end;
Si quelqu'un à une autre idée, merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ApplyWallPaper(bdimage.FileName, rgStyle.ItemIndex);
@+,
Cincap
Partager