éviter scintillement lors MAJ ListBox

Résolu
Archeolabo Messages postés 8 Date d'inscription mardi 11 novembre 2008 Statut Membre Dernière intervention 28 novembre 2008 - 11 nov. 2008 à 17:48
Archeolabo Messages postés 8 Date d'inscription mardi 11 novembre 2008 Statut Membre Dernière intervention 28 novembre 2008 - 11 nov. 2008 à 20:03
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

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
11 nov. 2008 à 18:10
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
3
Archeolabo Messages postés 8 Date d'inscription mardi 11 novembre 2008 Statut Membre Dernière intervention 28 novembre 2008
11 nov. 2008 à 20:03
Ben ... comme d'habitude ici, réponse rapide, précise et efficace !

Merci PCPT c'est tout juste ce que je cherchais !
0
Rejoignez-nous