Bonjour, je ne sais pas où tu en es de ton programme, mais j'ai pu tester sous windows 7 le code précédent.
Au sujet du thème XP qui réapparaît, je ne suis pas assez calé pour t'expliquer pourquoi, mais le problème viens visiblement de la ligne
dans la procédure SkinWindow.
Il est possible de faire fonctionner ce code correctement si tu mets de côté la transparence, avec la procédure suivante:
Code : Tout sélectionner
Procedure SkinWindow(Window,Skin,Transparent_Color = #Magenta )
; poshu
Define brush
brush= CreatePatternBrush_ ( ImageID (Skin))
SetClassLong_ ( WindowID (Window), #GCL_HBRBACKGROUND ,brush)
InvalidateRect_ ( WindowID (Window),0,1)
EndProcedure
Pour ton problème de plantage des skins, je n'ai pas tes images de base, donc je ne peux pas trop aider.
Par contre, fait des vérifications sur le nom du fichier et la création de l'image dans la procédure theme() afin d'éviter des erreurs en particulier si on ne sélectionne aucun fichier ( bouton "annuler")
Par exemple de cette façon:
Code : Tout sélectionner
Procedure theme()
theme$ = OpenFileRequester ( "Choisir le thème" , "" , "Images|*.jpg;*.bmp" , 0)
If theme$
If LoadImage ( #theme , theme$)
ResizeImage ( #theme ,1200, 620)
SkinWindow( #fenetre , #theme )
EndIf
EndIf
EndProcedure
Voilà, bon courage pour la suite
