Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Probléme de raffraichissement d'image

6 réponses
Avatar
Vincent Barré
Bonjour,
J'ai un problème avec un champ image :
Je lui affecte une image : Champ_Image = "Fichier_image.jpg"
OK
Si je change le contenu de l'image en conservant le nom par :
fcopiefichier("Nouvelle_Image.jpg","Fichier_image.jpg"),
l'image affiché ne change pas.
Malgré :
Champ_Image = ""
multitacherepeint; multitache(0); multitache(-1)
Champ_Image = "Fichier_image.jpg"

rien y fait :-(

Surement un problème de cache quelque part mais je ne voie pas ou ?

Avez vous une solution ?

Merci.
Vincent

6 réponses

Avatar
Emmanuel Haefelé
"Vincent Barré" a écrit :

Champ_Image = ""
multitacherepeint; multitache(0); multitache(-1)
Champ_Image = "Fichier_image.jpg"



Sans garantie mais éventuellement tu pourrais peut-être essayer :

..Visible = faux puis ..visible = vrai


Cordialement,

Emmanuel Haefelé
Avatar
Vincent
Merci mais déjà essayé sans succès.

"Emmanuel Haefelé" a écrit dans le message de news:
4af971d7$0$975$
"Vincent Barré" a écrit :

Champ_Image = ""
multitacherepeint; multitache(0); multitache(-1)
Champ_Image = "Fichier_image.jpg"



Sans garantie mais éventuellement tu pourrais peut-être essayer :

..Visible = faux puis ..visible = vrai


Cordialement,

Emmanuel Haefelé


Avatar
PYT
A mon avis, il faut que tu fasse un Invalidaterect (en passant pas l'API
windows)

Les multitacherepeint et multitache se contente de "laisser" passer les
evenements.

La il faut forcer windows à dire repeint cette zone.
A mon avis la sequence

-invalidaterect (via un appeldll)
-multitacherepeint
devrait (je pense) faire l'affaire

PYT

Merci mais déjà essayé sans succès.

"Emmanuel Haefelé" a écrit dans le message de news:
4af971d7$0$975$
"Vincent Barré" a écrit :

Champ_Image = ""
multitacherepeint; multitache(0); multitache(-1)
Champ_Image = "Fichier_image.jpg"


Sans garantie mais éventuellement tu pourrais peut-être essayer :

..Visible = faux puis ..visible = vrai


Cordialement,

Emmanuel Haefelé






Avatar
patrice
Vincent Barré a écrit :
Bonjour,
J'ai un problème avec un champ image :
Je lui affecte une image : Champ_Image = "Fichier_image.jpg"
OK
Si je change le contenu de l'image en conservant le nom par :
fcopiefichier("Nouvelle_Image.jpg","Fichier_image.jpg"),
l'image affiché ne change pas.
Malgré :
Champ_Image = ""
multitacherepeint; multitache(0); multitache(-1)
Champ_Image = "Fichier_image.jpg"

rien y fait :-(

Surement un problème de cache quelque part mais je ne voie pas ou ?

Avez vous une solution ?

Merci.
Vincent



l'éditeur a le même soucis.
t'as essayer de passer par un fichier qui existe pas ?
mon_image=image1.jpg
mon_image=fichier_qui_existe_pas.jpg
mon_image=image1.jpg

?
Avatar
Vincent
Super, cette astuce marche, merci.
Champ_Image = ""
multitacherepeint
Champ_Image = fichier_qui_existe_pas.jpg
multitacherepeint
Champ_Image = "Fichier_image.jpg"
multitacherepeint

@+
Vincent

"patrice" a écrit dans le message de news:
4afaaa77$0$10840$
Vincent Barré a écrit :
Bonjour,
J'ai un problème avec un champ image :
Je lui affecte une image : Champ_Image = "Fichier_image.jpg"
OK
Si je change le contenu de l'image en conservant le nom par :
fcopiefichier("Nouvelle_Image.jpg","Fichier_image.jpg"),
l'image affiché ne change pas.
Malgré :
Champ_Image = ""
multitacherepeint; multitache(0); multitache(-1)
Champ_Image = "Fichier_image.jpg"

rien y fait :-(

Surement un problème de cache quelque part mais je ne voie pas ou ?

Avez vous une solution ?

Merci.
Vincent



l'éditeur a le même soucis.
t'as essayer de passer par un fichier qui existe pas ?
mon_image=image1.jpg
mon_image=fichier_qui_existe_pas.jpg
mon_image=image1.jpg

?


Avatar
Vincent
Merci pour cette reponse, mais elle ne marche pas à tous les coups et de
plus j'ai peur des probléme éventuels avec Vista, Seven, X64,...
Pour info, j'ai fait : API("user32.dll", "InvalidateRect", Handle(), Null,
Faux)
@+
Vincent


"PYT" a écrit dans le message de news:
4af9b869$0$9952$

A mon avis, il faut que tu fasse un Invalidaterect (en passant pas l'API
windows)

Les multitacherepeint et multitache se contente de "laisser" passer les
evenements.

La il faut forcer windows à dire repeint cette zone.
A mon avis la sequence

-invalidaterect (via un appeldll)
-multitacherepeint
devrait (je pense) faire l'affaire

PYT

Merci mais déjà essayé sans succès.

"Emmanuel Haefelé" a écrit dans le message de
news: 4af971d7$0$975$
"Vincent Barré" a écrit :

Champ_Image = ""
multitacherepeint; multitache(0); multitache(-1)
Champ_Image = "Fichier_image.jpg"


Sans garantie mais éventuellement tu pourrais peut-être essayer :

..Visible = faux puis ..visible = vrai


Cordialement,

Emmanuel Haefelé