Bonjour,
J'ai un soucis sur ma GUI, le refresh de mon fond ne fonctionne pas très bien.
--- Mon problème est :
Afficher une fênetre en plein écran, avec une Image PNG (ou JPG) en fond, et un label et une progressbar en bas.
Je veux étirer mon image à la volée à la taille de l'écran.
--- Actuellement
J'ai une GUI qui va bien, le label et la progressbar me conviennent.
Mais j'utilise GDI+ pour redimensionner l'image à la volée, sans fichier temporaire.
Pour peindre cette image en fond de GUI j'ai 2 méthodes différentes :
1 - GDI+ : C'est OK, mais si une fenêtre ou autre se met devant, il reste ensuite une trace grise à la place de cette dernière. Le fond ne se rafraichit pas.
J'ai essayer de repeindre le fond en même temps que l'update de la progressbar, mais c'est pas propre et vraiment trop lourd. ca fait lagger !
2 - GdipGui (UDF basée sur GDI+) : La ca marche mieux, le refresh est ok mais il me garde pas l'image étirée et donc au premier refresh elle est diforme.
PS : J'ai modifié un peu cet UDF afin de faire un redimensionnement à la volée.
Voila, j'ai pensé à 2 fenêtres distinctes, mais reste la gestion de laquelle est et doit rester devant l'autre ...
Toute solution ou idée est la bienvenue !
Je vous met une archive toute prete, les 2 codes sont présents, juste a commenter et décommenter.
Merci d'avance pour l'aide.
PS : C'est écrit en autoit V3.3.0.0
RePS : Le code sera optimisé et nettoyé plus tard quand cela fonctionnera, soyez indulgents donc ^^
[R] Refresh de GUI avec fond et progressbar
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
-
JamesPatageule
- Niveau 3

- Messages : 36
- Enregistré le : mar. 21 avr. 2009 11:47
- Status : Hors ligne
[R] Refresh de GUI avec fond et progressbar
- Fichiers joints
-
- TestGUI.zip
- (29.39 Kio) Téléchargé 300 fois
Modifié en dernier par JamesPatageule le mar. 09 juin 2009 10:57, modifié 1 fois.
-
tolf
- Niveau 7

- Messages : 318
- Enregistré le : ven. 15 févr. 2008 12:25
- Localisation : Paris
- Status : Hors ligne
Re: [..] Refresh de GUI avec fond et progressbar
J'ai regardé votre script : il devait y avoir une erreur au niveau de votre UDF GdipGuiCustom -> la fonction "_GdipGui_DisplayImage" ne doit pas prendre en paramètre autre chose que le handle de la fenêtre car elle est faite pour être appelée automatiquement grâce à "GUIRegisterMsg" quand une autre fenêtre se place devant puis s'en va (cela permet de redessiner l'image au lieu de laisser un fond "gris").
-> téléchargez le nouveau GdipGui : normalement, ça devrait marcher.
-> téléchargez le nouveau GdipGui : normalement, ça devrait marcher.
-
JamesPatageule
- Niveau 3

- Messages : 36
- Enregistré le : mar. 21 avr. 2009 11:47
- Status : Hors ligne
Re: [..] Refresh de GUI avec fond et progressbar
Oki je vois le soucis,
Merci pour le coup d'oeil en tous cas.
Y a t'il alors un moyen de filer un GRAPHICS au lieu d'une IMAGE à gdipgui ???
Car il faut que je redimensionne ... Ou alors passer d'un Graphics à une Image sans fichier temp ?
Miciiiiiii
Merci pour le coup d'oeil en tous cas.
Y a t'il alors un moyen de filer un GRAPHICS au lieu d'une IMAGE à gdipgui ???
Car il faut que je redimensionne ... Ou alors passer d'un Graphics à une Image sans fichier temp ?
Miciiiiiii
-
tolf
- Niveau 7

- Messages : 318
- Enregistré le : ven. 15 févr. 2008 12:25
- Localisation : Paris
- Status : Hors ligne
Re: [..] Refresh de GUI avec fond et progressbar
Regardez la fonction _GdipGui_MoveImage() ou donnez plus d'information sur votre script pour voir s'il est nécessaire d'utiliser un graphic.Car il faut que je redimensionne...
-
JamesPatageule
- Niveau 3

- Messages : 36
- Enregistré le : mar. 21 avr. 2009 11:47
- Status : Hors ligne
Re: [..] Refresh de GUI avec fond et progressbar
Merci de la réponse.
En fait je sais pas comment je me suis débrouillé, mais j'avais une mauvaise version de "GdipGui" ... (trouvée sur forum autoit anglais ??? je sais pu)
Avec nouvelle version, ça marche d'enfer !!!
Merci bcp !
En fait je sais pas comment je me suis débrouillé, mais j'avais une mauvaise version de "GdipGui" ... (trouvée sur forum autoit anglais ??? je sais pu)
Avec nouvelle version, ça marche d'enfer !!!
Merci bcp !
-
tolf
- Niveau 7

- Messages : 318
- Enregistré le : ven. 15 févr. 2008 12:25
- Localisation : Paris
- Status : Hors ligne
Re: [R] Refresh de GUI avec fond et progressbar
GdipGui vient du forum français, vu que c'est moi qui l'ai créé et mis dans "Fonctions et UDF".
Et j'ai fait une nouvelle version pour la gestion de la taille des images suite à votre post.
Et j'ai fait une nouvelle version pour la gestion de la taille des images suite à votre post.
-
JamesPatageule
- Niveau 3

- Messages : 36
- Enregistré le : mar. 21 avr. 2009 11:47
- Status : Hors ligne
Re: [R] Refresh de GUI avec fond et progressbar
Ha oui j'avais pas fait le lien, lol
Merci bcp en tous cas ! C'est super !
Au cas ou autre idée d'optimisation, le passage d'un objet "Graphics" au lieu de l'image.
Comme ca on pourrais dessiner ce que l'on veux et ne pas passer par fichier image temporaire ! Et avec gestion de la transparence au possible ^^
Enfin je veux pas abuser !
Encore merci en tous cas, super UDF !!!
Merci bcp en tous cas ! C'est super !
Au cas ou autre idée d'optimisation, le passage d'un objet "Graphics" au lieu de l'image.
Comme ca on pourrais dessiner ce que l'on veux et ne pas passer par fichier image temporaire ! Et avec gestion de la transparence au possible ^^
Enfin je veux pas abuser !
Encore merci en tous cas, super UDF !!!
