éviter le rafraichissement d'écran durant la mise à jour d'un controle [Résolu]

Signaler
Messages postés
12
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
30 mai 2008
-
Messages postés
12
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
30 mai 2008
-
Bonjour,

Presque tout est dit !
Par exemple lorsque les élements d'une ListBox sont mis à jours c'est laid ...
C'est particulièrement désagréable lorsque la listbox est en style checkbox, l'ascenseur se déroule et on voit défiler les item qui la remplisse.
Comment éviter le rafraichissement d'écran durant la mise à jour en gros comme Application.ScreenUpdating = false en VBA

Il me semble kya un truc avec une API mais j'arrive pas à retrouver la combine ...

Merci d'avance !

5 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bonjour,

rends-la donc invisible (propriété Visible = False) pendant la complétion et viosible ensuite !
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
l'API était:

SendMessage et WM_SETREDRAW

pour tout simplement bannir tout raffraichissement

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
43
salut,

possible aussi en passant par l'API LockWindowUpdate

avec listbox.hwnd avant le remplissage
avec false après

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Messages postés
12
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
30 mai 2008

C'est mieux. Juste un petit clic/clac ...
Pour limiter la durée du "blanc" pendant visible/invisible, je prépare tout d'abord la liste des items (traitement un peu long) puis invisible - passe les données - visible.

Merci du conseil, bon rapport efficacité simplicité !
Messages postés
12
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
30 mai 2008

Mais oui mais c'est bien sur :
SendMessage et WM_SETREDRAW !

Ceci dit la solution "du pauvre" de jmfmarques va pas mal ...

Merci à tous !