Page 3 sur 3

Re: Problèmes Images

Publié : ven. 01/avr./2011 14:17
par David02
Faudrait que je retrouve mon Cd d'XP car Vista c'est vraiment de la m****.
Et il faut que mon cerveau refroidisse un peu car avec tout ces trucs ... lol
Dans 1heure je m'y remets

Re: Problèmes Images

Publié : ven. 01/avr./2011 15:13
par David02
Pour mon prg, j'ai décidé de supprimer les thèmes, je laisse seulement mon image de fond.
Je n'arrive pas trop à comprendre le code de Dobro donc désolé de t'avoir fait perdre du temps avec ça.
En tout cas tu m'as bien aidé avec mon problème de base qui était la disparition des gadgets après le lancement d'une vidéo et je te remercie.

Re: [Résolu] Problèmes Images

Publié : mar. 24/mai/2011 13:44
par samsarat
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

Code : Tout sélectionner

SetWindowRgn_ ( WindowID (Window), Region, #True )
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 :)