é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 7666 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 74
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 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
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
Rejoignez-nous