éviter scintillement lors MAJ ListBox

[Résolu]
Signaler
Messages postés
8
Date d'inscription
mardi 11 novembre 2008
Statut
Membre
Dernière intervention
28 novembre 2008
-
Messages postés
8
Date d'inscription
mardi 11 novembre 2008
Statut
Membre
Dernière intervention
28 novembre 2008
-
Bonjour à tous,

Mon souci :
<li>une ListBox en style CheckBox contenant beaucoup de lignes (et donc une ScrollBar)</li><li>des OptionButtons permettant de modifier l'état des .selected des éléments</li><li>un code (VB6) du type :
</li>Private Sub OptionAll_Click(Index As Integer)
Dim ind As Integer
    With Me.ListCurve(Index)
               For ind = 0 To .ListCount - 1
                      .Selected(ind) = True ' ou dans d'autres cas : False ou encore not(.Selected(ind))
                Next ind
               .ListIndex = 0
    End With
End Sub

C'est pas très joli à l'écran , on voit défiler tous les items ! Du coup ça va pas non plus très vite !
Est-il possible de l'éviter ? Comment ?
Faudrait pouvoir interdire temporairement le rafraichissement d'écran ... mais chais pas faire !

Merci d'avance !

2 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
46
salut,

il faut bloquer le refresh

donc soit tu la rends invisible, mais s'il y a beaucoup d'items çà peut perturber l'utilisateur
soit par API






Option Explicit


Private Declare Function 
LockWindowUpdate
Lib
"user32" 
(
ByVal 
hwndLock 
As Long

As Long


Private Sub 
Command1_Click()

    Dim ind As Integer
    With List1 'Me.ListCurve(Index)
        LockWindowUpdate .hWnd
        For ind = 0 To .ListCount - 1
               .Selected(ind) = True
         Next ind
        .ListIndex = 0
    End With
    LockWindowUpdate False
End Sub





<small>
[../code.aspx?ID=39466 Coloration VB6, VBA,
VBS]
</small>






++

<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Messages postés
8
Date d'inscription
mardi 11 novembre 2008
Statut
Membre
Dernière intervention
28 novembre 2008

Ben ... comme d'habitude ici, réponse rapide, précise et efficace !

Merci PCPT c'est tout juste ce que je cherchais !