éviter le rafraichissement d'écran durant la mise à jour d'un controle

Résolu
alainc14
Messages postés
12
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
30 mai 2008
- 22 avril 2008 à 21:34
alainc14
Messages postés
12
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
30 mai 2008
- 23 avril 2008 à 08:19
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

jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
22 avril 2008 à 21:47
Bonjour,

rends-la donc invisible (propriété Visible = False) pendant la complétion et viosible ensuite !
3
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
23 avril 2008 à 03:53
l'API était:

SendMessage et WM_SETREDRAW

pour tout simplement bannir tout raffraichissement

Renfield
Admin CodeS-SourceS- MVP Visual Basic
3
PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
49
23 avril 2008 à 07:49
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
3
alainc14
Messages postés
12
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
30 mai 2008

23 avril 2008 à 00:07
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é !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
alainc14
Messages postés
12
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
30 mai 2008

23 avril 2008 à 08:19
Mais oui mais c'est bien sur :
SendMessage et WM_SETREDRAW !

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

Merci à tous !
0